ホームページ  >  記事  >  ウェブフロントエンド  >  NodejsクエリJSONのネスト

NodejsクエリJSONのネスト

WBOY
WBOYオリジナル
2023-05-23 19:59:06452ブラウズ

フロントエンドとバックエンドが分離されているプロジェクトでは、多くの場合、フロントエンドが 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# # を使用します。 #スキル名を取得します。

しかし、JSON データの具体的な構造がわからない場合、またはユーザー入力に基づいてクエリを実行する必要がある場合はどうすればよいでしょうか?

再帰を使用して、JSON データに対して深いトラバーサル クエリを実行できます。以下は、再帰を使用して json をクエリする例です。

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。