3

我有一些 JSON 显示在下图中。0在 items 下 有一个对象。

我想获取项目内的属性。如何使用 jQuery 或 Javascript 访问它?

在此处输入图像描述

这是我到目前为止所拥有的:

 jQuery.getJSON('http://localhost/magento/js/primitives/js/SpaceTreeRegion.json',
     function(jsonData) {
     jQuery.each(jsonData, function(currentRegionNode, jsonData) {
         alert(jsonData.items.product_name);
     });
}); 

此代码给出错误:jsonData.items.value is undefined

JSON是这样的:

  [
      {
          "category_id": "Clothes",
          "Items": [
              {
                  "product_id": 1,
                  "price": 50,
                  "product_name": "Shirts"
              },
              {
                  "product_id": 2,
                  "price": 60,
                 "product_name": "T-Shirt"
              }
          ]
     }
 ]

我想访问product_id,price和对象中product_name的每个items

4

5 回答 5

4

试试这个代码

  jQuery.getJSON('your json url', function(yourJsonData) {
     jQuery.each(yourJsonData[0].Items, function(key, customData) {
            alert(customData.product_name);
    });
 });     
于 2014-01-03T11:12:21.830 回答
2

这段代码应该给你的想法:

例子: alert(jsonData[0].Items[0].product_id);

试试这个 $.each 然后:

`$.each(jsonData[0].Items, function (i, item) {
            alert(item.product_id);
            alert(item.price);
            alert(item.product_name);
        });`
于 2014-01-03T07:37:43.223 回答
1

试试这个 json 文件:

 {
      "category_id": "Clothes",
      "Items": [
          {
              "product_id": 1,
              "price": 50,
              "product_name": "Shirts"
          },
          {
              "product_id": 2,
              "price": 60,
             "product_name": "T-Shirt"
          }
      ]
 }

然后像这样解析它:

$.each(jsonData.Items, function(index, value){
  alert(value.product_name)
});
于 2014-01-03T07:30:20.813 回答
0

那是因为项目没有价值。

for(var i=0; i<jsonData.items.length; i++){
    var youritem = jsonData.items[i]; /*this is your item*/
    console.log(jsonData.items[i].product_name);/*one of your product names*/
}

这是你的代码:

 jQuery.getJSON('http://localhost/magento/js/primitives/js/SpaceTreeRegion.json',
       function(jsonData) {
 jQuery.each(jsonData, function(currentRegionNode, jsonData) {

                   alert(this.items);/*this is an object also*/
                   alert(this.items[0].product_name)/*this is your child arrays property*/
                   alert(this.items[1].product_name)/*this is second one*/

});

});

this.items所以你可以再次循环

于 2014-01-03T07:36:34.837 回答
0

把你的each循环改成这样 -

jQuery.each(jsonData['Items'], function(currentRegionNode, jsonItemData) {
    alert(jsonItemData.product_name); // will output 'Shirts ', 'T-Shirt'
});
于 2014-01-03T08:48:04.983 回答