1

マッピング ツールを開発しており、jQuery を使用してサーバーから JSON データをダウンロードしています。jquery のコードは現在次のとおりです。

$.getJSON("start.json", function(data) {
    var items = [];

    $.each(data, function(key, val) {
        alert("data: " + key + "->" + val);
    });
});

json ファイルは次のようになります。

{
    "type"  :   "obstacle",
    "top"   :   20,
    "left"  :   10,
    "height":   50,
    "width" :   70,
    "tall"  :   10
}

さて、「問題」は、明らかにわかるように、この形式ではjsonに1つのオブジェクトしか含めることができないことです。複数のオブジェクトを持つようにファイル (および結果として jquery) を構成するにはどうすればよいですか?

前もって感謝します。

4

2 に答える 2

1

次のような JSON オブジェクトの配列を作成できます。

[
    { 
        "type"  :   "obstacle", 
        "top"   :   20, 
        "left"  :   10, 
        "height":   50, 
        "width" :   70, 
        "tall"  :   10 
    } ,
    { 
        "type"  :   "obstacle", 
        "top"   :   50, 
        "left"  :   10, 
        "height":   50, 
        "width" :   20, 
        "tall"  :   10 
    } 
]

編集:jQueryは次のようになります:

$.each(data, function(index, obstacle))
{
    $.each(obstacle, function(key, val) { 
        alert("data: " + key + "->" + val); 
    }); 
}
于 2012-08-19T08:51:13.327 に答える
0

配列を使用してそれらを格納できます。

{
  "objects": [
    {
      "type"  :   "obstacle",
        "top"   :   20,
        "left"  :   10,
        "height":   50,
        "width" :   70,
        "tall"  :   10
      }, {
      "type"  :   "obstacle",
        "top"   :   20,
        "left"  :   10,
        "height":   50,
        "width" :   70,
        "tall"  :   10
      }, {
      "type"  :   "obstacle",
        "top"   :   20,
        "left"  :   10,
        "height":   50,
        "width" :   70,
        "tall"  :   10
      }
    ]
}

これで、反復するときに、個々のオブジェクトのプロパティにアクセスできます。

$.each(data.objects, function(key, val) {
  console.log(key + ' => ' + val);
});
于 2012-08-19T08:50:03.520 に答える