gpt4 book ai didi

jquery - 使用 jQuery 从 JSON 返回嵌套值

转载 作者:行者123 更新时间:2023-12-01 06:47:15 26 4
gpt4 key购买 nike

我从服务器接收 JSON,看起来像这样。

{"genres": [{
"genre": "RPG",
"publishers": [{
"publisher": "Square",
"games": [{
"game": "FFX",
"rating": [
12, 15
]
}]
}, {
"publisher": "Blizzard",
"games": [{
"game": "Starcraft",
"rating": [
10, 12
]
}, {
"game": "Diablo",
"rating": [
15
]
}, ]
}]
}, {
"genre": "Action",
"publishers": [{
"publisher": "EA",
"games": [{
"game": "COD",
"rating": [
18, 20
]
}, {
"game": "Titanfall",
"rating": [
18
]
}]
}]
}
}

我正在尝试使用此数据中的出版商构建一个下拉菜单,目前我可以让下拉菜单返回类型,但不能返回出版商。

我一直在尝试使用 .each 来获取每种类型的出版商,因此在下拉列表中我最终会得到:正方形暴风雪EA

到目前为止我的代码是:

  function renderCombo(){
var parseData= JSON.parse($myData);
$(parseData.Genre).each(function (i) {
$("#pubCombo").append($("<option/>", {
val: this.publisher,
html: this.publisher
}));
$('#pubCombo').selectpicker("refresh");
});

};

$myData 是从服务器检索的数据,它适用于我的所有其他下拉菜单,所以我知道这是我的 renderCombo 函数。

有什么想法可以实现这一点吗?

最佳答案

(现在编辑了这个答案,因为我发现问题实际上是如何消除重复项)

问题(除了源数据中的一些拼写错误,以及函数中的“流派”而不是“流派”)是,每种流派有多个出版商,因此您无法将它们纳入到一个流派中。单次通过。

var uniquePublishers = {};
$(parsedData.genres).each(function () {
$(this.publishers).each(function () {
uniquePublishers[this.publisher] = true;
});
});
for (publisher in uniquePublishers) {
$("#pubCombo").append($("<option/>", {
val: publisher,
html: publisher
}));
};

Fiddle

关于jquery - 使用 jQuery 从 JSON 返回嵌套值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22693281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com