2

解析する必要がある 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"}]}

ここで提供されているソリューションを試して実装しました。これは、JSON 配列のみを解析するソリューションで定義された JS の実装です。

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 全体を解析するにはどうすればよいですか?

4

3 に答える 3

3

これを試して:

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]);
    }
}
于 2012-06-04T12:44:44.310 に答える
1

データが JSON 文字列の場合は、まずそれをオブジェクトにデコードする必要があります。を使用しJSON.parseます。

于 2012-06-04T12:46:47.743 に答える
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

ここで説明したように。

于 2012-10-01T20:53:58.587 に答える