使用Javascript / jQuery访问通过key嵌套的JSON,没有任何值

时间:2016-07-18 02:21:48

标签: javascript jquery arrays json object

我试图返回嵌套在复杂对象数组中的JSON对象的值。不幸的是,由于JSON的结构似乎不寻常,我无法轻易做到;例如:

var cartContents = { 
  "contents":
     {
       "ed2be4abf6cc927dd670b567efd42fc3":
         {
           "id": "1288785070733722605",
           "quantity":2,
           "limit":10,
           "offset":0,
           "order":null,
           "created_at":"2016-07-06 12:18:10",
           "updated_at":"2016-07-06 12:18:34",
           "sku":"006",
           "title":"Fishing Rod",
           "slug":"fishing-rod-lara-fluorescent-print",
           "sale_price":0,
           "status":{
             "value":"Draft",
             "data": {
               "key":"0",
               "value":"Draft"
             }
           },
           "category": 
             {
               "value":"Bottom",
               "data": 
                 {
                   "1228355758422329063":  
                     {
                       "id":"1238352758122309063",
                       "order":null,
                       "created_at":"2016-07-06 11:23:54",
                       "updated_at":"2016-07-06 11:38:23",
                       "parent":
                         {
                           "value":"All Sports",
                           "data":
                             {
                               "id":"2288364532150634121",
                               "order":null,
                               "created_at":"2016-07-06 11:37:25"...
                             }
                          }
                      }
                  }
              }
          }
      }
   }

以下代码生成正确的结果("钓鱼竿"):

var x = cartContents.contents;
console.log(x.ed2be4abf6cc927dd670b567efd42fc3.title);

然而,重点是32个字符串(' ed2be4abf6cc927dd670b567efd42fc3')代表许多产品中的一个,每个产品都有一个随机的32位字符串,因此它们不能单独编码到JS中。

我尝试了很多不同的方法。最新的是以下代码(其中' carts'是一个独特的32个字符串的数组:

var x = cartContents.contents;    
$.each(carts, function() {
     console.log(x.this.title);
});

结果是" jQuery.Deferred异常:无法读取属性' title'未定义的TypeError:无法读取属性' title'未定义"。

非常感谢帮助访问以下密钥及其值:

  1. " title":" Fishing Rod"
  2. " ID":" 1238352758122309063"
  3. " created_at":" 2016-07-06 11:37:25"
  4. 另外值得一提的是我无法触及服务器,因此根本无法更改数据结构。

    非常感谢提前。

0 个答案:

没有答案