gpt4 book ai didi

javascript - 使用 jQuery 访问更复杂的 JSON

转载 作者:行者123 更新时间:2023-11-28 15:15:41 25 4
gpt4 key购买 nike

我正在尝试从我创建的 JSON 文件访问此数据:

{
"game":"one",
"schedule":[
{
"day":"mon",
"start":"00:00:00",
"end":"05:30:00"
},
{
"day":"tue",
"start":"00:00:00",
"end":"05:30:00"
}
],
"game":"two",
"schedule":[
{
"day":"mon",
"start":"00:00:00",
"end":"05:30:00"
},
{
"day":"wed",
"start":"00:00:00",
"end":"05:30:00"
}
],
"game":"three",
"schedule":[
{
"day":"fri",
"start":"00:00:00",
"end":"05:30:00"
},
{
"day":"thu",
"start":"00:00:00",
"end":"05:30:00"
}
]
}

这就是我尝试访问它的方式:

  $.getJSON(json_location, function(data) {
$.each(data.schedule, function() {
console.log(this.day + " " + this.start + " " + this.end);
});
});

但是,这仅返回第三场比赛中的值 - 因此:周五 00:00:00 05:30:00,周四 00:00:00 05:30:00。理想情况下,我希望能够迭代第一场比赛,然后是第二场,然后是第三场。然而,无论我如何尝试调整我的代码,我都无法允许 $.getJSON 访问数据。

我还知道这种格式对于与 javascript 一起使用是有效的,但根据 RFC 4627(JSON 规范)无效 - 因此,任何有关如何改进 JSON 布局的建议将不胜感激。

最佳答案

你是对的,这个 JSON 是错误的,因为相同的按键游戏和时间表有多个值

尝试这样的事情(最简单的改变)

{
"one":[
{
"day":"mon",
"start":"00:00:00",
"end":"05:30:00"
},
{
"day":"tue",
"start":"00:00:00",
"end":"05:30:00"
}
],
"two":[
{
"day":"mon",
"start":"00:00:00",
"end":"05:30:00"
},
{
"day":"wed",
"start":"00:00:00",
"end":"05:30:00"
}
],
"three":[
{
"day":"fri",
"start":"00:00:00",
"end":"05:30:00"
},
{
"day":"thu",
"start":"00:00:00",
"end":"05:30:00"
}
]
}

然后像这样迭代

for ( var gameId in data )
{
var scheduleArray = data[ gameId ];
//iterate this array
}

关于javascript - 使用 jQuery 访问更复杂的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34086727/

25 4 0
文章推荐: javascript - 通过循环的 JSON 响应
文章推荐: html - 按钮未内嵌在较小的设备上
文章推荐: javascript -
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com