提问者:小点点

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


可能的重复:
我有一个嵌套的数据结构/JSON,我如何访问一个特定的值?

我有一个在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"
    }
}
]

这是我要为每个项目(项目1,项目2,项目3,...)打印的内容:

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循环来循环数组,并使用for-in循环来循环对象属性。

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);
    }