访问 JSON 数组中的对象 (JavaScript) [重复]

Posted

技术标签:

【中文标题】访问 JSON 数组中的对象 (JavaScript) [重复]【英文标题】:Accessing Objects in JSON Array (JavaScript) [duplicate] 【发布时间】:2012-12-22 11:18:57 【问题描述】:

可能重复:I have a nested data structure / JSON, how can I access a specific value?

我有一个服务,它返回 JSON 数组中的嵌套对象。如何遍历对象并打印所需的数据?

这是我的结果:

[

    "item1": 
        "sourceUuid": "5599ffac-4b99-47c7-9370-a25e7e465429",
        "targetUuid": "5599ffac-4b99-47c7-9370-a25e7effffff"
    
,

    "item2": 
        "sourceUuid": "bf63fe50-8b2b-488d-b565-009fcaebdb45",
        "targetUuid": "-1"
    
,

    "item3": 
        "sourceUuid": "0005fd96-f654-4781-8602-09fedc0cdd35",
        "targetUuid": "0005fd96-f654-4781-8602-09fedc0cdd35"
    

]

这是我要为每个项目(item1、item2、item3、...)打印的内容:

Item Name: item1
Source: 5599ffac-4b99-47c7-9370-a25e7e465429
Target: 5599ffac-4b99-47c7-9370-a25e7effffff

到目前为止我试过了:

for (var i = 0, length = data.length; i < length; i++) 
for (obj in data[i]) 
    console.log(obj);



这只返回“item1”、“item2”等。但我不知道如何从那里访问sourceUuid等

【问题讨论】:

【参考方案1】:

您可以使用for loop 循环数组,使用for-in loops 循环对象属性。

for (var i=0; i<result.length; i++)
    for (var name in result[i]) 
        console.log("Item name: "+name);
        console.log("Source: "+result[i][name].sourceUuid);
        console.log("Target: "+result[i][name].targetUuid);
    

【讨论】:

谢谢这位朋友 :)【参考方案2】:

使用循环

for(var i = 0; i < obj.length; ++i)
   //do something with obj[i]
   for(var ind in obj[i]) 
        console.log(ind);
        for(var vals in obj[i][ind])
            console.log(vals, obj[i][ind][vals]);
        
   

演示:http://jsfiddle.net/maniator/pngmL/

【讨论】:

以后我想在翡翠中使用它。或者 angularjs。

以上是关于访问 JSON 数组中的对象 (JavaScript) [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何访问 json 对象中的数组?

像数组一样访问json对象中的元素[重复]

如何访问 JSON 对象中的数组?

仅访问 JSON 数组中的第一个对象

JavaScrip t对象和 JSON 数据格式转换

如何使用角度访问 HTML 中的 JSON 数组对象?