In Projekten mit Front-End- und Back-End-Trennung ist es häufig erforderlich, dass das Front-End JSON-Daten an das Back-End sendet und das Back-End die Daten über JSON-Operationen verarbeitet und sie dann an das Front-End zurückgibt -Ende. In diesem Prozess werden JSON-Daten und verschachtelte Abfragen abgefragt, was auch eine der häufigsten Operationen von NodeJS ist.
In NodeJS kann die Verwendung des JSON
-Objekts bequem mit JSON-Daten arbeiten. Im Folgenden wird vorgestellt, wie eine verschachtelte JSON-Abfrage in NodeJS durchgeführt wird. JSON
对象可以方便地对json数据进行操作。下面将介绍如何在nodejs中进行json嵌套查询。
假设有如下json数据:
{ "name": "Tom", "age": 20, "address": { "province": "Guangdong", "city": "Shenzhen", "district": "Futian" }, "skills": [ { "name": "Java", "level": "Expert" }, { "name": "JavaScript", "level": "Intermediate" } ] }
假设我们想要查询Tom的地址中的城市信息,可以使用以下代码:
const json = {...}; // 假设json数据如上 const city = json.address.city; console.log(city); // Shenzhen
上述代码中,我们通过json.address.city
的方式可以直接获取到城市信息。
假设我们还想要查询Tom的第一项技能的技能名,可以使用以下代码:
const json = {...}; // 假设json数据如上 const skillName = json.skills[0].name; console.log(skillName); // Java
在该代码中,我们使用了嵌套查询来获取Tom的第一项技能名。首先使用json.skills
获取到Tom的skills
属性,再通过[0]
获取到第一项技能,最后通过.name
function searchJson(json, targetKey, targetValue) { for (let key in json) { if (typeof json[key] === 'object') { searchJson(json[key], targetKey, targetValue); } else { if (key === targetKey && json[key] === targetValue) { console.log(json); } } } }
searchJson(json, 'name', 'Tom');
json.address.city
Stadtinformationen können direkt eingeholt werden. Angenommen, wir möchten auch den Skillnamen von Toms erstem Skill abfragen, können wir den folgenden Code verwenden: rrreee
In diesem Code verwenden wir eine verschachtelte Abfrage, um den Namen von Toms erstem Skill zu erhalten. Verwenden Sie zuerstjson.skills
, um Toms skills
-Attribut abzurufen, verwenden Sie dann [0]
, um die erste Fertigkeit abzurufen, und verwenden Sie schließlich . name
Ruft den Skill-Namen ab. Aber was sollen wir tun, wenn wir die spezifische Struktur von JSON-Daten nicht kennen oder eine Abfrage basierend auf Benutzereingaben durchführen müssen? Wir können Rekursion verwenden, um Deep-Traversal-Abfragen für JSON-Daten durchzuführen. Das Folgende ist ein Beispiel für die Verwendung von Rekursion zur Abfrage von JSON: rrreee
Diese Funktion akzeptiert drei Parameter: JSON-Daten, Zielattributname und Zielattributwert. Verwenden Sie innerhalb der Funktion eine for in-Schleife, um eine Deep-Traversal-Abfrage für die JSON-Daten durchzuführen. Wenn der Attributwert ein Objekt ist, wird er rekursiv durchlaufen. Andernfalls wird beurteilt, ob der Attributname mit dem Zielattribut übereinstimmt Name und ob der Attributwert mit dem Zielattributwert übereinstimmt. Wenn er übereinstimmt, wird das JSON-Objekt ausgedruckt. 🎜🎜Wenn wir beispielsweise alle Objekte mit dem Namen Tom in JSON abfragen möchten, können wir den folgenden Code verwenden: 🎜rrreee🎜Dieser Code durchläuft die JSON-Daten tiefgreifend und gibt alle Objekte mit dem Namen Tom zurück. 🎜🎜Zusammenfassung: 🎜🎜Das Manipulieren von JSON-Daten in NodeJS ist ein sehr häufiger Vorgang. In diesem Artikel werden gängige verschachtelte JSON-Abfragen als Beispiel verwendet, um vorzustellen, wie JSON und verschachtelte Abfragen in NodeJS abgefragt werden. In der tatsächlichen Entwicklung können wir je nach Situation unterschiedliche Methoden zum Betreiben und Verarbeiten von JSON-Daten auswählen. 🎜Das obige ist der detaillierte Inhalt vonnodejs fragt JSON-Verschachtelung ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!