Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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 如何访问json文件中数组中的数组 var xmlhttp=new XMLHttpRequest(); xmlhttp.onreadystatechange=函数(){ if(this.readyState==4&&this.status==200){ var myObj=JSON.parse(this.responseText); document.getElementById(“demo”).innerHTML=myObj.name; } }; open(“GET”,“json_demo.txt”,true); xmlhttp.send(); { “姓名”:“约翰”, “年龄”:31岁, “宠物”:[ {“动物”:“狗”,“名字”:“菲多”}, {“动物”:“猫”,“名字”:“菲利克斯”}, {“动物”:“仓鼠”,“名字”:“闪电”} ]}_Javascript_Arrays_Json_Web - Fatal编程技术网

Javascript 如何访问json文件中数组中的数组 var xmlhttp=new XMLHttpRequest(); xmlhttp.onreadystatechange=函数(){ if(this.readyState==4&&this.status==200){ var myObj=JSON.parse(this.responseText); document.getElementById(“demo”).innerHTML=myObj.name; } }; open(“GET”,“json_demo.txt”,true); xmlhttp.send(); { “姓名”:“约翰”, “年龄”:31岁, “宠物”:[ {“动物”:“狗”,“名字”:“菲多”}, {“动物”:“猫”,“名字”:“菲利克斯”}, {“动物”:“仓鼠”,“名字”:“闪电”} ]}

Javascript 如何访问json文件中数组中的数组 var xmlhttp=new XMLHttpRequest(); xmlhttp.onreadystatechange=函数(){ if(this.readyState==4&&this.status==200){ var myObj=JSON.parse(this.responseText); document.getElementById(“demo”).innerHTML=myObj.name; } }; open(“GET”,“json_demo.txt”,true); xmlhttp.send(); { “姓名”:“约翰”, “年龄”:31岁, “宠物”:[ {“动物”:“狗”,“名字”:“菲多”}, {“动物”:“猫”,“名字”:“菲利克斯”}, {“动物”:“仓鼠”,“名字”:“闪电”} ]},javascript,arrays,json,web,Javascript,Arrays,Json,Web,如何引用pets数组中的值。如上所示,我可以引用名称值,但当我尝试引用宠物体内动物的值时。它只返回[object object]请尝试以下操作: myObj.pets.map(function(item){ console.log(item) }) 这将为您提供以下结果: {动物:“狗”,名字:“菲多”} {动物:“猫”,名字:“菲利克斯”} {动物:“仓鼠”,名字:“闪电”} 要访问单个动物的名称,请使用 myObj.pets.map(function(item){ console.log(

如何引用pets数组中的值。如上所示,我可以引用名称值,但当我尝试引用宠物体内动物的值时。它只返回[object object]

请尝试以下操作:

myObj.pets.map(function(item){ console.log(item) })
这将为您提供以下结果:

{动物:“狗”,名字:“菲多”}

{动物:“猫”,名字:“菲利克斯”}

{动物:“仓鼠”,名字:“闪电”}

要访问单个动物的名称,请使用

myObj.pets.map(function(item){ console.log(item.name); })
要获得动物使用:

myObj.pets.map(function(item){ console.log(item.animal); })
另一种选择是使用:

for(var pet of myObj.pets)
{
  console.log(pet.animal); //for animal
  console.log(pet.name); //for name
}
你需要把“宠物”圈起来,比如


您需要使用foreach函数。希望这对您有所帮助。

您可以像这样访问*edit:with*

试一试

试试这个

    var pets= myObj.pets;
    for(var i=0;i<pets.length;i++){
        console.log(pets[i].name);
    }
var-pets=myObj.pets;

对于(var i=0;我想您需要
stringify
。数组中的数组…标题与实际问题不匹配。myObj.pets[0].name应返回Fido。@CodeManiac否。OP需要迭代数组中的对象。@CodeManiac How pls??您的解决方案需要创建一个全新的数组。您没有使用OP的数据。是的,编辑了我的答案和书面评论,以提及这是一个例子。如果我仍然错了,请相应地编辑它。我是新的,正在尝试继续tribute@Devinder请按照CodeF0x的建议进行编辑。@Devinder请查看其他答案。希望这能解决您的问题。呃……jQuery既没有标记,也没有包含在OP的代码中,那么为什么要用jQuery回答呢?手头的任务似乎很琐碎,不需要一个巨大的库来解决问题。
        var person = {
        "name":"John",
        "age":31,
        "pets":[
            { "animal":"dog", "name":"Fido" },
            { "animal":"cat", "name":"Felix" },
            { "animal":"hamster", "name":"Lightning" }
        ]};

        $.each(person.pets,function (k,v) {
            console.log(v.animal, v.name);
        });
myObj.pets.forEach(function (pet) {
    console.log(pet); // What you need is probably *pet.name*
});
    var pets= myObj.pets;
    for(var i=0;i<pets.length;i++){
        console.log(pets[i].name);
    }