我从http请求得到了响应,我想循环遍历它以编程方式获取每个对象的属性。
{
"GLASS": {
"EUR": 4.89,
"USD": 6.03
},
"COMPUTER": {
"EUR": 289.66,
"USD": 426.52
},
"TV": {
"EUR": 3813.06,
"USD": 5617.77
}
}
所以我创建了一个for循环,将每个产品的名称分配给一个变量,并将其显示在一个html页面中:
for(let i = 0; i < products.length; i++)
{
var productName = products[i]
list.innerHTML += "<li><span>"+products[i]+"</span><span>€"+res.data["GlASS"].EUR+"</span><span>$"+res.data.productName.USD+"</span></li>"
}
如果我输出:res.data [“GLASS”]。EUR我得到了正确的值。
如果我输出:res.data.GLASS.EUR我得到正确的值。
如果我尝试使用res.data.productName.EUR,我会得到未定义的
如果我尝试res.data.products [i] .EUR我得到未定义的
我如何以编程方式获取json对象列表的属性? 我已经尝试了许多不同的方法来输出一个项目的数据,但它没有用。
答案 0 :(得分:1)
您的javascript响应json不是您在代码中解释的产品数组,
如果你认为它是一个数组而不是它应该是
[
{"GLASS": {
"EUR": 4.89,
"USD": 6.03
}},
{"COMPUTER": {
"EUR": 289.66,
"USD": 426.52
}},
{"TV": {
"EUR": 3813.06,
"USD": 5617.77
}}
]
你可以访问,
products[0].GLASS.EUR