我正在使用第三方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));
});请帮我解决问题,谢谢!
发布于 2018-12-29 02:53:10
如果属性名称包含无效字符,请使用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"]));
});我希望这能对你有所帮助!
发布于 2018-12-29 02:53:48
在这一行中:
.text(value.team-1. +" VS " + value.team-2));不能通过value.team-1或value.team-2访问值,因为team-2引用
团队减2
,这里不是一个可识别的变量:您在这里可以做的是:
.text(value["team-1"] +" VS " + value["team-2"]);发布于 2018-12-29 03:10:06
首先,您的JSON无效。下面是有效的JSON
检查Here
https://jsfiddle.net/shoesheill/gjbzq7an/1/
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"
}然后,如果你的密钥中有-,那么使用下面的代码
var container = $("#metch_container");
$.each(data.matches, function(key, value) {
container.append("<option>dvdfvfdv</option>")
.attr("value",value.unique_id)
.text(value['team-1'] +" VS " + value['team-2']);
});https://stackoverflow.com/questions/53962940
复制相似问题