首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在json对象中使用此类型键?

如何在json对象中使用此类型键?
EN

Stack Overflow用户
提问于 2018-12-29 02:37:51
回答 3查看 73关注 0票数 1

我正在使用第三方apis获取json对象,就像这样。

代码语言:javascript
复制
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“打印选项。

代码语言:javascript
复制
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));
            });

请帮我解决问题,谢谢!

EN

回答 3

Stack Overflow用户

发布于 2018-12-29 02:53:10

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

代码语言:javascript
复制
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"]));
            });

我希望这能对你有所帮助!

票数 1
EN

Stack Overflow用户

发布于 2018-12-29 02:53:48

在这一行中:

代码语言:javascript
复制
.text(value.team-1. +" VS " + value.team-2));

不能通过value.team-1value.team-2访问值,因为team-2引用

团队减2

,这里不是一个可识别的变量:您在这里可以做的是:

代码语言:javascript
复制
.text(value["team-1"] +" VS " + value["team-2"]);
票数 1
EN

Stack Overflow用户

发布于 2018-12-29 03:10:06

首先,您的JSON无效。下面是有效的JSON

检查Here

https://jsfiddle.net/shoesheill/gjbzq7an/1/

代码语言:javascript
复制
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"
}

然后,如果你的密钥中有-,那么使用下面的代码

代码语言:javascript
复制
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']);
   });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53962940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档