JavaScript解析复杂JSON

JavaScript Parsing Complex JSON

本文关键字:JSON 复杂 JavaScript      更新时间:2023-09-26

我有以下JSON:

{  
   "_id":"9876567833",
   "result":{  
      "Mercedes":[  
         {  
            "category_name":"Car"
         },
         {  
            "category_name":"Fast"
         }
      ],
      "BMW":[  
         {  
            "category_name":"Car"
         }
      ]
   }

我不知道以前是"梅赛德斯"还是"宝马"(它可能会改变,这只是一个例子)。我需要"车","快","车"。

JSON在categories中所以我尝试了:

    var categoArray = [];
    for(var i =0; i < categories.length; i++){
        for (var idx in categories[i].result) {
               if (categories[i].result[idx].length > 0){
                   categoArray.push(categories[i].result[idx].category_name);
          }
         }
       }

但它不起作用。

[EDIT]不同:访问/处理(嵌套)对象、数组或JSON

我的问题要复杂得多

谢谢你的帮助!

你很接近,但你还需要一个循环:

var categoArray = [];
for (var i = 0; i < categories.length; i++) {
    for (var key in categories[i].result) {
        for (var j = 0; j < categories[i].result[key].length; j++) {
            categoArray.push(categories[i].result[key][j].category_name);
        }
    }
}

categories[i].result[idx]返回一个数组,而不是对象。因此,categories[i].result[idx].category_name将是undefined