在javascript中访问数组中的JSON
我在Console.Log中的JSON数据集中返回了一些数据,如下所示: 看起来像是一个JSON条目数组?为了尝试访问这些数据,我一直在使用这种类型的JSON循环:在javascript中访问数组中的JSON,javascript,json,Javascript,Json,我在Console.Log中的JSON数据集中返回了一些数据,如下所示: 看起来像是一个JSON条目数组?为了尝试访问这些数据,我一直在使用这种类型的JSON循环: console.log(data); for (var key in data) { if (data.hasOwnProperty(key)) { console.log(data[key].Station); } } 但它总是以“未定义”的形式出现。为什么?我如何通过迭代收集这些数据 我认为您没
console.log(data);
for (var key in data) {
if (data.hasOwnProperty(key)) {
console.log(data[key].Station);
}
}
但它总是以“未定义”的形式出现。为什么?我如何通过迭代收集这些数据 我认为您没有循环正确的数组。数据是一个对象,而不是要循环的数组 在这里,我尝试模拟您的数据并循环使用它,也许它可以帮助您
var data={};
data.tags=[
{id:1,名字:“约翰”},
{id:2,名字:“Alice”},
{id:3,名字:“某个怪物”}
];
控制台日志(数据);
对于(var i=0;i }
键[键]
wat,什么是键
?为什么要用它来访问字符串的属性?我的错。我很快就会解决的。即使是data[key],它仍然不能工作。console.log(data[key].Station)
可以工作,但您使用的是数组,因此键将是0
,然后是1
等等。也许可以尝试使用数据。map(console.log)
(没有任何循环)
数据是一个具有单个属性标记的对象,其值是数组。似乎您需要data.tags.forEach(o=>console.log(o.Station))
。“但它总是以“未定义”的形式出现。为什么?”因为你试图访问不存在的数据、标签、电台。是的,下面回答这个问题的人得到了正确的答案。谢谢各位。