gpt4 book ai didi

javascript - getJSON 显示 [object Object] 而不是实际值

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

我有一个 JSON,我需要获取此 JSON 并将其作为 ul li 列表放入 html 中。它获取对象值并在 html 中显示 [object Object]。如果我修改 json 就可以了。所以我的脚本中可能有问题,我无法正确循环 json 文件。有人可以帮忙吗:

我的 JSON 是:

[
{
"us":"USA"
},
{
"fr":"FRANCE"
},
{
"es":"Spain"
},
{
"sa":"South Africa"
}
]

JS 是

<script>
$.getJSON('jsonfile', function(data) {
var items = [];
$.each(data ,function(key,val) {
items.push('<li id="'+ key +'">' + val +'</li>');
});
$('<ul />' , {
'class':'new-div',
html:items.join('')
}).appendTo('body');
});
</script>

更新的 JSON:

[
{
"items":
{
"item":
[
{
"id": "0001",
"type": "donut",
"name": "Cake",
"ppu": 0.55,
"batters":
{
"batter":
[
{ "id": "1001", "type": "Regular" },
{ "id": "1002", "type": "Chocolate" },
{ "id": "1003", "type": "Blueberry" },
{ "id": "1004", "type": "Devil's Food" }
]
},
"topping":
[
{ "id": "5001", "type": "None" },
{ "id": "5002", "type": "Glazed" },
{ "id": "5005", "type": "Sugar" },
{ "id": "5007", "type": "Powdered Sugar" },
{ "id": "5006", "type": "Chocolate with Sprinkles" },
{ "id": "5003", "type": "Chocolate" },
{ "id": "5004", "type": "Maple" }
]
}


]
}
}
]

最佳答案

您要循环的data是数组,其中包含对象。因此,您的 key 将是 01 等,val 将是对象 在数组中的该位置。

您的 JSON 结构实际上使输出有点麻烦,因为每个对象只有一个属性,但属性名称因对象而异。您可以通过循环遍历对象属性来做到这一点,即使只有其中一个:

var items = [];
$.each(data ,function(outerKey, outerVal) { // <== Loops through the array
$.each(outerVal, function(key, val) { // <== "Loops" through each object's properties
items.push('<li id="'+ key +'">' + val +'</li>');
});
});

...但我会更改 JSON 结构。例如,假设键是唯一的,您的原始代码将使用以下结构:

{
"us":"USA",
"fr":"FRANCE",
"es":"Spain",
"sa":"South Africa"
}

关于javascript - getJSON 显示 [object Object] 而不是实际值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13539811/

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