提问人:Dango 提问时间:8/9/2016 最后编辑:ArnaudDango 更新时间:7/1/2019 访问量:5961
使用 JQuery 解析 JSON 数组
Parsing JSON array with JQuery
问:
我在使用 jquery 解析下面的 json 时遇到了最困难的问题。
{ "client": [{"ClientID": "0000000001", "Name": "Valdez Gilberto JR", "Phone": "(956)542-8148" , "MedActID": "10", "Gender": "M", "Division": "WP", "Address": "1905 Illinois Ave N", "Class": "", "CityState": "Brownsville TX 78521-6732" } , {"ClientID": "0000000002", "Name": "Salazar Olga F", "Phone": "(956)546-3909" , "MedActID": "100", "Gender": "F", "Division": "MP", "Address": "Route 8 Box 626 (San Pedro)", "Class": "", "CityState": "Brownsville TX 78520" } ]}
一直在使用下面的代码,但无济于事,不断收到未定义的错误“数据”正在通过ajax调用:
var obj = JSON.parse(data);
for(var i = 0; i < obj.length; i++){
alert(obj[i].client.Name)
}
甚至尝试过以下方法:
$.each(obj, function(key,value) {
alert(value.client.Name);
});
答:
2赞
Swimburger
8/9/2016
#1
您应该首先获取“client”属性,它是一个数组。 一旦你抓住了它,你就可以把它作为一个数组来迭代。
{ //object | obj
"client":[ //property (array) | obj.client
{ //object inside array | obj.client[0]
"ClientID":"0000000001",
"Name":"Valdez Gilberto JR", //property | obj.client[0].Name
"Phone":"(956)542-8148",
"MedActID":"10",
"Gender":"M",
"Division":"WP",
"Address":"1905 Illinois Ave N",
"Class":"",
"CityState":"Brownsville TX 78521-6732"
},
{
"ClientID":"0000000002",
"Name":"Salazar Olga F",
"Phone":"(956)546-3909",
"MedActID":"100",
"Gender":"F",
"Division":"MP",
"Address":"Route 8 Box 626 (San Pedro)",
"Class":"",
"CityState":"Brownsville TX 78520"
}
]
}
此代码将循环访问“client”属性中的对象,并提醒名称。
var obj = JSON.parse(data);
var client = obj.client; //client prop is an array
for(var i = 0; i < client.length; i++){
alert(client[i].Name);
}
评论
1赞
Dango
8/9/2016
工作非常感谢!缺少“obj.client”!
0赞
Swimburger
8/13/2016
@Dango不要忘记投票/接受答案,如果答案解决了您的问题
0赞
Swimburger
3/10/2017
同样,如果您投反对票,请提供反馈原因。这解决了@Dango遇到的问题,所以我在这里看不到任何问题。
0赞
baao
8/9/2016
#2
你正在尝试迭代一个对象,但你无法这样做。你想要的是通过你的对象中的数组进行迭代,键控client
试试这个:
for(var i = 0; i < obj.client.length; i++){
console.log(obj.client[i].Name)
}
0赞
Iceman
8/9/2016
#3
您正在尝试遍历一个对象。 是您要查找的 Array。obj.client
var data = '{ "client": [{"ClientID": "0000000001", "Name": "Valdez Gilberto JR", "Phone": "(956)542-8148" , "MedActID": "10", "Gender": "M", "Division": "WP", "Address": "1905 Illinois Ave N", "Class": "", "CityState": "Brownsville TX 78521-6732" } , {"ClientID": "0000000002", "Name": "Salazar Olga F", "Phone": "(956)546-3909" , "MedActID": "100", "Gender": "F", "Division": "MP", "Address": "Route 8 Box 626 (San Pedro)", "Class": "", "CityState": "Brownsville TX 78520" } ]}';
var obj = JSON.parse(data);
for (var i = 0; i < obj.client.length; i++) {
console.log(obj.client[i].Name);
}
评论
0赞
Iceman
8/9/2016
如果您投反对票,请发表评论为什么?这效果很好!
评论
obj