【问题标题】:How do I parse a JSON multidimensional array in jQuery?如何在 jQuery 中解析 JSON 多维数组?
【发布时间】:2012-06-04 12:38:52
【问题描述】:

这是我需要解析的 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 data 是从服务器返回的,是的,我尝试使用以下代码进行解析,但没有结果:

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 数组?

【问题讨论】:

  • 解析成什么? html、数组或??
  • 解析成html,还有待进一步处理,我需要确保解析正确完成。

标签: javascript jquery json parsing


【解决方案1】:

试试这个:

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]);
    }
}

【讨论】:

  • 它工作正常,但它显示 0 =[object Object]、1 =[object Object]、2 =[object Object] 和 3 =[object Object] 用于数据数组
  • 这个key是什么,将是json数据中的任何字段名?
  • 请使用正确的英语,我可能会回答您的问题。
【解决方案2】:

如果您的数据是 JSON 字符串,您需要先将其解码为对象。使用JSON.parse

【讨论】:

    【解决方案3】:

    我能够访问我的多级数组中的每个值:

    {"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 解释的那样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-30
      • 2014-02-08
      • 2014-03-17
      • 1970-01-01
      • 1970-01-01
      • 2017-02-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多