这是我需要解析的JSON:
{"opcode":"groupdetails",
"status":"success",
"data":[{"Group ID":5,"Group Name":"data structure","Group Subject":"computer science","Role Type":"Teacher"},{"Group ID":4,"Group Name":"information technology","Group Subject":"computer science","Role Type":"Student"},{"Group ID":6,"Group Name":"data mining","Group Subject":"computer science","Role Type":"Parent"},{"Group ID":7,"Group Name":"dccn","Group Subject":"computer science","Role Type":"Teacher"}]}
我已经尝试并实现了提供的解决方案here,这是在解决方案中定义的JS的实现,仅解析JSON数组
for (var i = 0; i < data.data.length; i++)
{
var object = data.data[i];
for (property in object)
{
var value = object[property];
alert(property + "=" + value);
}
}
从服务器返回外部JSON 数据,是的,我尝试使用以下代码进行解析,但没有结果:
for (var i = 0; i < data.length; i++)
{
var object = data[i];
for (property in object)
{
var value = object[property];
alert(property + "=" + value);
}
}
如何使用单个方法解析整个JSON,而不是单独解析JSON数组?
答案 0 :(得分:2)
试试这个:
for(var key in data) {
if(typeof data[key] === "object") {
for(var i = 0; i < data[key].length; i++) {
for(var property in data[key][i]) {
alert(property + " = " + data[key][i][property]);
}
}
} else if(typeof data[key] === "string") {
alert(key + " = " + data[key]);
}
}
答案 1 :(得分:1)
如果您的数据是JSON字符串,则需要先将其解码为object。使用JSON.parse
。
答案 2 :(得分:0)
我能够访问多级数组中的每个值:
{"dirArray":[{"Dir":{"name":"hr12325","dir_description":"B2B NFIB Field","id":"249"}},{"Dir":{"name":"klk","dir_description":"B2B NFIB klk","id":"251"}}]}
使用
data.dirArray[0].Dir.name
data.dirArray[0].Dir.dir_description
解释here。