如何在html表中显示json数组?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (280)

我试图在HTML中显示一个JSON数组,我得到的响应是

[
  {
    "New  upto 3 Yrs": 40.0,
    "Above 3 yr to 9 yrs": 35.0,
    "Above 9 yrs upto 12 yrs": 30.0
  }
]

在这里,我得到了未定义的值。

如何在HTML中将这种JSON显示为html表?

这是我的代码:

 success: function (data) {
            if (objMotorUnderwritingList.ddlVehicleType == "TW$") {
               // alert("hi TW$");
                if (data.jsDiscoundGridList != 0) {

                        var eachrow = "<tr>"
                                    + "<td>" + data.jsDiscoundGridList[0]["New upto 3 Yrs"] + "</td>"
                                    + "<td>" + data.jsDiscoundGridList[0]["Above 3 yr to 9 yrs"] + "</td>"
                                    + "<td>" + data.jsDiscoundGridList[0]["Above 9 yrs upto 12 yrs"] + "</td>"
                                    + "</tr>";
                        $('.tbody').html(eachrow);

                    }
                else {
                    ShowAlert("Something Wrong in TW");
                } 
            }}
提问于
用户回答回答于

在你的属性名中有额外的空格,如果你更改它,你可以很好地访问这些属性:

你的代码:

let data = {
  jsDiscoundGridList: [{
    "New  upto 3 Yrs": 40.0,
    "Above 3 yr to 9 yrs": 35.0,
    "Above 9 yrs upto 12 yrs": 30.0
  }]
};

console.log(data.jsDiscoundGridList[0]["New upto 3 Yrs"]); // undefined
//                                         ^

有正确的间距:

let data = {
  jsDiscoundGridList: [{
    "New  upto 3 Yrs": 40.0,
    "Above 3 yr to 9 yrs": 35.0,
    "Above 9 yrs upto 12 yrs": 30.0
  }]
};

console.log(data.jsDiscoundGridList[0]["New  upto 3 Yrs"]); // 40
//                                         ^^

扫码关注云+社区

领取腾讯云代金券