Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript getJSON显示的是[object object],而不是实际值_Javascript_Jquery_Ajax_Json_Object - Fatal编程技术网

Javascript getJSON显示的是[object object],而不是实际值

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" },

我有一个JSON,我需要得到这个JSON,并将其作为ul li列表放入html中。它以object的形式获取值,并以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>

正在循环的
数据是数组,其中包含对象。因此,您的
键将是
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"
}