Javascript getJSON显示的是[object object],而不是实际值
我有一个JSON,我需要得到这个JSON,并将其作为ul li列表放入html中。它以object的形式获取值,并以html的形式显示[object object]。如果我修改了json,它就会工作。因此,我的脚本可能有问题,无法正确循环json文件。有人能帮忙吗 我的JSON是:Javascript getJSON显示的是[object object],而不是实际值,javascript,jquery,ajax,json,object,Javascript,Jquery,Ajax,Json,Object,我有一个JSON,我需要得到这个JSON,并将其作为ul li列表放入html中。它以object的形式获取值,并以html的形式显示[object object]。如果我修改了json,它就会工作。因此,我的脚本可能有问题,无法正确循环json文件。有人能帮忙吗 我的JSON是: [ { "us":"USA" }, { "fr":"FRANCE" }, { "es":"Spain" },
[
{
"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>
正在循环的
数据是数组,其中包含对象。因此,您的键将是0
,1
,等等,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>');
});
});
正在循环的数据是数组,其中包含对象。因此,您的键将是0
,1
,等等,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。例如,在你看来,对于这个例子@Mike,获取json的理想方法是什么:“如何使用我使用的方法获得像我这样的嵌套json”请参见答案的第一部分。如果你看到我更新的json,我将再次显示对象。所以这肯定取决于筑巢的水平。有一种方法适用于所有级别的json嵌套。对不起,如果我问了一个愚蠢的问题,但我是新来的json@Mike:你能从服务器端对JSON的结构做些什么吗?@nhahtdh:不,我只有js作为选项。如何使用我使用的方法获得像我这样的嵌套JSON。例如,在你看来,对于这个例子@Mike,获取json的理想方法是什么:“如何使用我使用的方法获得像我这样的嵌套json”请参见答案的第一部分。如果你看到我更新的json,我将再次显示对象。所以这肯定取决于筑巢的水平。有一种方法适用于所有级别的json嵌套。对不起,如果我问了一个愚蠢的问题,但我是新来的json@Mike:你能从服务器端对JSON的结构做些什么吗?@nhahtdh:不,我只有js作为选项。你能告诉我你想要什么结果吗?“迭代”有点太模糊了-屏幕上应该显示哪些元素以及JSON中应该包含哪些数据?@pimvdb:我需要使用我的方法来解析这个JSON:。输出应该是如下所示的表格,请看链接的示例10。如果您知道JSON的结构,那么访问正确的值应该不难。您能说出您想要的结果吗?“迭代”有点太模糊了-屏幕上应该显示哪些元素以及JSON中应该包含哪些数据?@pimvdb:我需要使用我的方法来解析这个JSON:。输出应该是如下所示的表格,请看链接的示例10。如果您知道JSON的结构,那么访问正确的值应该不难。
{
"us":"USA",
"fr":"FRANCE",
"es":"Spain",
"sa":"South Africa"
}