如何使用以下结构迭代json数组

时间:2014-04-30 17:35:03

标签: jquery json

我有以下json结构:

 Object 
    data: Array[1]
       0:Object
         categories: Object
            cat: namecat
            cat2: namecate2
         errors: Object
            err1: error1
            err2: error2
         name: NAMEOFTHETHING
       1:Object
         categories: Object
            cat: namecat
            cat2: namecate2
         errors: Object
            err1: error1
            err2: error2
         name: NAMEOFTHETHING

使用JavaScript,我需要将值的数组分类,还有另一个带有错误值的数组,最后是名称。

你能指出正确的方向来迭代它吗?

更新

到目前为止,我已经尝试了这个,说我的json字符串保存在名为结果的

的var上
 for(var i=0;i<result.length;i++){
    var obj = result[i];
    console.log(obj);
 }

这是我认为它应该工作的方式,但它是逐个字符的loggin,我正在设置每个键分开,但是...... nono

1 个答案:

答案 0 :(得分:1)

如果result是JSON字符串,则必须先调用JSON.parse(result)将字符串转换为JS对象,然后才能遍历其data属性(数组)。

目前,您正在迭代JSON字符串的字符,使用非标准功能(对数组字符的括号访问)

var arr = JSON.parse(result).data
for(var i = 0; i < arr.length; i++){
  console.log(arr[i]);
}

// or
JSON.parse(result).data.forEach(function(obj, index){
    console.log(obj);
});