gpt4 book ai didi

javascript - 如何从 json 访问对象以自动下拉

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

我已经尝试了一段时间来访问 json 对象的内容。我正在使用 jQuery 来尝试自动化下拉菜单。


这是json代码

{
"Kingston":
{
"tots": [
"9.15-10.00am"
],
"kickers": [
"9.15-10.00am"
],
"strikers": [
"9.15-10.00am"
],
"academy": [
"9.15-10.00am"
]
}
,
"Knaphill":
{
"tots": [
"9.15-10.00am"
],
"kickers": [
"9.15-10.00am"
],
"strikers": [
"9.15-10.00am"
],
"academy": [
"9.15-10.00am"
]
}
}

这是我目前拥有的 javascript。它一直给我一个未定义的错误。

jQuery( document ).ready(function() {
console.log("ready");
$.getJSON("sessions.json", function(data) {
var key = <?php echo json_encode($form->data['hb_venue']); ?>;
var cat = "tots";
var c = [];
switch (key) {
case "Kingston":
c = data.Kingston.cat.split(",");
break;
default:
c = '<option>Choose a class</option>';
}
var $sessList = $("#cb_sessions");
$sessList.empty();
$.each(c, function(index, value) {
$sessList("<option>" + value + "</option>");
});
});
});

最佳答案

您必须意识到 JSON 是作为对象的数组(或对象)工作的。

您收到未定义错误的原因是您错误地访问了您的对象。

这段代码 c = data.Kingston.cat.split(","); 是错误的,因为它等同于这样做:

c = data.Kingston."tots".split(",");

那是访问对象的错误方式。这是正确的方法:

c = data["Kingston"][cat][0].split(",");

编辑: 额外 [0] 的原因是因为 data["Kingston"][cat] 返回一个对象,所以要访问对象中的字符串,您必须通过 data["Kingston"][cat]

访问它

关于javascript - 如何从 json 访问对象以自动下拉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20916481/

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