0

私はJqueryの初心者であり、javascriptはjqueryを使用してこの種のjsonデータにアクセスする方法を教えてくれます.誰かがこのデータにアクセスするより良い方法を考えているなら、私を助けてください. この json データは、リモート URL から取得されます。

{
    "1": {
        "id": "1",
        "name": "name1",
        "large_name": "http://critiques-demo.she.com/beauty/makeuptool/images/models/model1.jpg",
        "thumb_name": "http://critiques-demo.she.com/beauty/makeuptool/images/models/model1_thumb.jpg"
    },
    "2": {
        "id": "2",
        "name": "name2",
        "large_name": "http://critiques-demo.she.com/beauty/makeuptool/images/models/model2.jpg",
        "thumb_name": "http://critiques-demo.she.com/beauty/makeuptool/images/models/model2_thumb.jpg"
    },
    "3": {
        "id": "3",
        "name": "name3",
        "large_name": "http://critiques-demo.she.com/beauty/makeuptool/images/models/model3.jpg",
        "thumb_name": "http://critiques-demo.she.com/beauty/makeuptool/images/models/model3_thumb.jpg"
    },
    "4": {
        "id": "4",
        "name": "name4",
        "large_name": "http://critiques-demo.she.com/beauty/makeuptool/images/models/model4.jpg",
        "thumb_name": "http://critiques-demo.she.com/beauty/makeuptool/images/models/model4_thumb.jpg"
    },
    "5": {
        "id": "8",
        "name": "Name8",
        "large_name": "http://critiques-demo.she.com/beauty/makeuptool/images/models/model8.jpg",
        "thumb_name": "http://critiques-demo.she.com/beauty/makeuptool/images/models/model8_thumb.jpg"
    }
}
4

4 に答える 4

1

JSON を解析すると、通常の JS オブジェクトになります。

for (var id in data) {
    var thing = data[id];

    console.log(thing.name);
}
于 2013-02-26T05:37:38.717 に答える
1

$.jsonParse使用して json 文字列を解析し、$.each を使用してループします

$.each(data, function(k, v){
    document.write(v['id'] + ' ' + v['name']+'<br />');
});

出力:

1 name1
2 name2
3 name3
4 name4
8 Name8

上記の例kでは、キーを表し、v値を表します (それぞれobject)。この場合、最初のkeyand objectis ( "1"is key and {...}is object )

"1": {
    "id": "1",
    "name": "name1",
    "large_name": "http://critiques-demo.she.com/beauty/makeuptool/images/models/model1.jpg",
    "thumb_name": "http://critiques-demo.she.com/beauty/makeuptool/images/models/model1_thumb.jpg"
}

を使用v['id']すると、 を取得でき1v['name']が返さname1れます。$.getJSONを使用する場合は、次jQueryのように使用できるため、解析する必要はありません。

$.getJSON('url', function(data){
    $.each(data, function(k, v){
        document.write(v['id'] + ' ' + v['name']+'<br />');
    });
});

デモ。

于 2013-02-26T05:48:32.680 に答える
0

forループを使用できます。

for(i = 0; i <= dataJson.length; i++)
{
     console.log(dataJson[i].name);
}
于 2013-02-26T05:39:09.567 に答える
0

次のような配列として数値キーにアクセスできます

console.log(dataJson[1].id);
于 2013-02-26T05:40:27.210 に答える