アプリケーション開発ポータルサイト
ServerNote.NET
Amazon.co.jpでPC関連商品タイムセール開催中!
カテゴリー【JavaScriptNode.js
【Javascript】JSON配列内にある特定要素の取得法【Node.js】
POSTED BY
2023-12-13

こんな感じのJSONオブジェクトが変数jsonに入っているとして、

{
  "Places": [
    {
      "Id": 6145,
      "ParentId": 115,
      "Code": "PDX",
      "Type": "City",
      "Name": "ポートランド"
    },
    {
      "Id": 14213,
      "ParentId": 5186,
      "Code": "MNL",
      "Type": "Airport",
      "Name": "マニラ (ニノイ・アキノ)"
    },
    {
      "Id": 13068,
      "ParentId": 5965,
      "Code": "KIX",
      "Type": "Airport",
      "Name": "大阪 関西国際"
    },
    {
      "Id": 5772,
      "ParentId": 115,
      "Code": "NYC",
      "Type": "City",
      "Name": "ニューヨーク"
    }
  ]
}

TypeがAirportである先頭の要素1つだけを取り出したい場合(高速)以下のように書く。

var first_airport = json.Places.find((v) => v.Type == "Airport");
console.log(first_airport.Name); //マニラ (ニノイ・アキノ) が出力される。

TypeがCityである要素をすべて取り出したい場合以下のように書く。上記と異なり結果は配列で返る。

var all_cities = json.Places.filter(function(item, index){
  if (item.Type == "City" ) return true;
});
for( var i = 0; i < all_cities.length; i++ ){
  console.log(all_cities[i].Name);
}
//↑ ポートランド、ニューヨークが出力される。all_cities.lengthは2
※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!
ご連絡は以下アドレスまでお願いします★

☆ServerNote.NETショッピング↓
ShoppingNote / Amazon.co.jp
☆お仲間ブログ↓
一人社長の不動産業務日誌
【キーワード検索】