首页 > 解决方案 > 如何在 json 对象中使用此类型键?

问题描述

我正在研究第三方 apis 获取这样的 json 对象。

var data ={
"matches": [
{
  "unique_id": 1144995,
  "date": "2018-12-25T00:00:00.000Z",
  "dateTimeGMT": "2018-12-25T23:30:00.000Z",
  "team-1": "Australia",
  "team-2": "India",
  "type": "Test",
  "squad": true,
  "toss_winner_team": "India",
  "matchStarted": true
},
{
  "unique_id": 1153839,
  "date": "2018-12-25T00:00:00.000Z",
  "dateTimeGMT": "2018-12-25T22:00:00.000Z",
  "team-1": "New Zealand",
  "team-2": "Sri Lanka",
  "type": "Test",
  "squad": true,
  "toss_winner_team": "Sri Lanka",
  "matchStarted": true
},
],
 "type":"test"
}

但是使用每个循环数据获取关键“team-1”和“team-2”值时的问题不仅仅得到“NaN”打印选项。

var container = $("#metch_container");
$.each(data.matches, function(key, value) {

                container.append($("<option></option>")
                .attr("value",value.unique_id)
                .text(value.team-1. +" VS " + value.team-2));
            });

请解决我的问题非常感谢

标签: javascriptjqueryajax

解决方案


如果属性名称包含无效字符,请使用value["team-x"]格式:

var container = $("#metch_container");
$.each(data.matches, function(key, value) {

                container.append($("<option></option>")
                .attr("value",value.unique_id)
                .text(value["team-1"] +" VS " + value["team-2"]));
            });

我希望这能帮到您!


推荐阅读