我怎样才能以编程方式获取json对象列表的属性?

时间:2018-03-12 06:09:07

标签: javascript json

我从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对象列表的属性? 我已经尝试了许多不同的方法来输出一个项目的数据,但它没有用。

1 个答案:

答案 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