0

私はこのJsonを持っています:

{
"version": "firstVersion",
"numberID": "3",
"totalIDs": [
    {
        "1": {
            "subTot": "2",
            "subTotID": {
                "1": "aaa",
                "2": "bbb"
            }
        },
        "2": {
            "subTot": "2",
            "subTotID": {
                "1": "www",
                "2": "rrr"
            }
        }
    }
  ]
}

バージョン、numberID の値を取得する方法は知っていますが、ドリルダウンして totalIDs > 1 > subTot > value を取得しようとすると、その方法がわかりません。

ここで ajax 呼び出し:

$.ajax({
    url: url,
    type: "GET",
    dataType: 'json',
    success: function (data) {
        console.log(data.version);
        console.log(data.numberID);
        console.log(data.totalIDs); // problem is here, I don't know how to drill down further
    }
});

どんな助けでも本当に感謝しています。前もって感謝します。ジョン

4

3 に答える 3

0

totalIDs は、構造体という 1 つの要素のみを持つ配列です。

この構造には、「1」と「2」でインデックス付けされた 2 つの要素があります。

したがって、配列と構造体の両方の参照を含める必要があります。

data.totalIDs[0]["1"].subTot
于 2013-09-20T10:33:29.543 に答える
0

次のように実行できます。

$.ajax({
url: url,
type: "GET",
dataType: 'json',
success: function (data) {
    console.log(data.version);
    console.log(data.numberID);

    var length = data.totalIDs.length;
    for(i=0;i<length ;i++)
    {
      console.log(data.totalIDs[i]);
    }
});
于 2013-09-20T10:34:26.020 に答える
0

特定のものを取得しようとしている場合はID、試してください

 data.totalIDs[0].subTot or data.totalIDs[1].subTotID[0]

または、ループすることができます

 for(var i=0;i<data.totalIDs.length;i++)
 {
    console.log(data.totalIDs[i].subTot); 
    //another loop for subTotID
    for(var j=0;j<data.totalIDs[i].subTotID.length;j++)
    {
        console.log(data.totalIDs[i].subTotID[j]); 
    } 
 }
于 2013-09-20T10:32:47.930 に答える