data = {
"users": [
[{
"value": "01",
"text": "ABC XYZ"
}],
[{
"value": "02",
"text": "XYZ ABC"
}]
]
}
var jsonData = JSON.parse(data);
for (var i = 0; i < jsonData.users.length; i++) {
var userlist = jsonData.users[i];
alert(userlist.text)
}
此输出:[undefine];
但我希望获得[ABC XYZ]
和[XYZ ABC]
。
那么如何从这个数组中获取文本或值?
答案 0 :(得分:2)
data
已经是JavaScript对象,因此不需要额外的JSON.parse
。
您收到undefined
结果,因为用户是一个数组数组,而不是一个对象数组。
尝试像这样访问userlist
:
var userlist = data.users[0][i];
答案 1 :(得分:1)
试试这样:
var data={"users":[[{"value":"01","text":"ABC XYZ"}],[{"value":"02","text":"XYZ ABC"}]]};
for (var i = 0; i < data.users.length; i++) {
var userlist = data.users[0][i];
alert(userlist.text);
}
答案 2 :(得分:1)
您的对象包含嵌套数组。尝试以下。
var data = { "users": [[{ "value": "01", "text": "ABC XYZ" }], [{ "value": "02", "text": "XYZ ABC" }]] };
for (var i = 0; i < data.users.length; i++) {
var userlist = data.users[i][0];
alert(userlist.text);
}