2016-05-12 4 views
1

私はJSONを持っていると私はノードの下にそのノードを取得したいが、それを取得する方法カニなっネット:jsonを使用してJsonのノードを取得する方法は?

{ 
    "price": { 
    "VPO": 125, 
    "MSRP": 129.99, 
    "ONSALE": 99.97, 
    "a_bucks": 3.75 
    }, 
    "short_info": { 
    "product_name": "MARMOT PRECIP JACKET", 
    "category": "WOMEN'S", 
    "weight": { 
     "lbs": 0.6, 
     "kg": 0.27 
    }, 
    "SKU": "KNXSU921", 
    "part_info": "#46200", 
    "rating": 4, 
    "out_of_stock": false 
    }, 
    "product_variants": { 
    "XS": { 
     "Arctic Navy": { 
     "InStock": true, 
     "Colorcode": "HMN", 
     "InStore": { 
      "NANAIMO": { 
      "value": "true", 
      "code": "154" 
      } 
     } 
     }, 
     "Black": { 
     "InStock": true, 
     "Colorcode": "HMN", 
     "InStore": { 
      "NANAIMO": { 
      "value": "true", 
      "code": "154" 
      } 
     } 
     }, 
     "Blue Sea": { 
     "InStock": true, 
     "Colorcode": "HMN", 
     "InStore": { 
      "NANAIMO": { 
      "value": "true", 
      "code": "154" 
      } 
     } 
     }, 
    } 
    } 
} 

は、私はXS、つまり下の要素の(ノード)の名前を取得したい:ここではJSONです「北極海軍」、「ブラック」、「ブルーシー」など

は、私は次のコードを使用しています

$.each(dataObj.product_variants.XS, function (i, item) { 
    alert(item) 
}); 

をしかし、私は必要な出力を得ることができますどのように得ていません。助けてください。

ありがとうございます。

+0

試みるが、あなたのJSONスニペットはよくフォーマットされていません。既にこれをチェックしましたか? –

+0

@AlbertoDeCaro、はい、私はちょうど必要な要素をコピーし貼り付けました –

答えて

1

あなたは、あなたのdataObj.product_variants.XSが配列されているだろう場合はまたjavascriptを経由

for(var i in dataObj.product_variants.XS) { 
    alert(i) 
}); 

を達成することができ

$.each(dataObj.product_variants.XS, function (i, item) { 
    alert(i) 
}); 

があったであろう私のインデックスを試すことができます要素の

+1

https://jsfiddle.net/8bjdmdeg/ – madalinivascu

1

次のことを試してみてください。

使用Object.keys()あなたは、このためのjQueryを必要としないオブジェクトのキー

var keys = Object.keys(dataObj.product_variants.XS); 

https://jsfiddle.net/zeoj9xd8/

3

を取得します。通常のJavaScriptを使用できます。

Object.keys(dataObj.product_variants.XS) 

これはキーの配列を返します。例えば

[ "Arctic Navy", "Black", "Blue Sea" ] 
関連する問題