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岁, “宠物”:[ {“动物”:“狗”,“名字”:“菲多”}, {“动物”:“猫”,“名字”:“菲利克斯”}, {“动物”:“仓鼠”,“名字”:“闪电”} ]}
如何引用pets数组中的值。如上所示,我可以引用名称值,但当我尝试引用宠物体内动物的值时。它只返回[object object]请尝试以下操作: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(
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);
}