ホームページ > 記事 > ウェブフロントエンド > NodejsクエリJSONのネスト
フロントエンドとバックエンドが分離されているプロジェクトでは、多くの場合、フロントエンドが json データをバックエンドに送信し、バックエンドが json 操作を通じてデータを処理してからバックエンドに返す必要があります。フロントエンド。このプロセスには、json データとネストされたクエリのクエリが含まれます。これは、nodejs の一般的な操作の 1 つでもあります。
nodejs では、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" } ] }
トムの住所の都市情報をクエリしたいとすると、次のコードを使用できます:
const json = {...}; // 假设json数据如上 const city = json.address.city; console.log(city); // Shenzhen
上記の例では、コードに json.address.city
メソッドを渡すと、都市情報を直接取得できます。
トムの最初のスキルのスキル名もクエリしたいとします。次のコードを使用できます:
const json = {...}; // 假设json数据如上 const skillName = json.skills[0].name; console.log(skillName); // Java
このコードでは、ネストされたクエリを使用してトムの最初のスキル A スキルを取得します。名前。まず json.skills
を使用してトムの 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); } } } }この関数は、json データ、ターゲット属性名、およびターゲット属性値の 3 つのパラメーターを受け入れます。関数内では、for in ループを使用して、json データに対して深いトラバーサル クエリを実行します。属性値がオブジェクトの場合は再帰的にトラバースされます。それ以外の場合は、属性名がターゲットの属性と等しいかどうかが判断されます名前と属性値がターゲットの属性値と等しいかどうか、一致する場合は出力されます。json オブジェクト。 たとえば、json 内の Tom という名前のすべてのオブジェクトをクエリする場合は、次のコードを使用できます。
searchJson(json, 'name', 'Tom');このコードは、json データを深く走査し、Tom という名前のすべてのオブジェクトを返します。物体。 概要: nodejs での json データの操作は非常に一般的な操作です。この記事では、一般的な json ネストされたクエリを例として、nodejs で json をクエリおよびクエリする方法を紹介します。ネストされたクエリ操作。実際の開発では、特定の状況に応じてさまざまな方法を選択して json データを操作および処理できます。
以上がNodejsクエリJSONのネストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。