Friday 16 December 2016

Accessing Objects in JSON Array (JavaScript)











I have a service that returns nested Objects in a JSON Array. How can I loop through the objects and print the desired data?



This is my result:



[
{
"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"
}
}
]


This is what I want to print for each item (item1, item2, item3, ...):




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


So far I tried:



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


}
}


This only returns "item1", "item2" etc. But I don't know how access sourceUuid etc. from there


Answer



You can loop the array with a for loop and the object properties with for-in loops.



for (var i=0; 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);
}

No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...