2

私のdata.jsonは次のようになります:

{
    "selection_form" : {
        "entities" : { 
            "name":"0002" ,
            "name":"0103" ,
            "name":"0104" ,
            "name":"0122" ,
....

このスクリプトは次のようになります

  <script>     
            $.getJSON('data.json', function(data) {   
                $.each(data.selection_form.entities, function(i,item){
                    $("#enity").append('<p>'+data.selection_form.entities.name+'</p>');
                });
            });
        </script>

のように ap タグでラップされたすべての名前を取得したい

<p>0002</p><p>0103</p>....

しかし、結果は姓の項目だけです。そのための解決策が見つかりません。助けが必要!

4

2 に答える 2

1

オブジェクトは、同じ名前のプロパティを持つことはできません。entitiesオブジェクトにはnameの値を持つ 1 つのプロパティがあります0122。プロパティ名を変更する必要があります。

{
    "selection_form": {
        "entities": {
            "name1": "0002",
            "name2": "0103",
            "name3": "0104",
            "name4": "0122",
        }
    }
}

$.getJSON('data.json', function(data) {   
      $.each(data.selection_form.entities, function(i,item){
           $("#enity").append('<p>'+item+'</p>');
      });
 });

http://jsfiddle.net/vB6qe/

于 2012-10-06T23:16:07.190 に答える
0

JSON プロパティ名をオーバーライドしています。そこに JSON オブジェクトを配置する代わりに、配列を配置する方が理にかなっています。

{
    "selection_form" : {
        "entities" : [ "0002" , "0103" , "0104" , "0122" ]
    }
}


<script type="text/javascript">
    $.getJSON('data.json', function(data) {   
        $.each(data.selection_form.entities, function(i,name){
            $("#enity").append('<p>'+name+'</p>');
        });
    });
</script>

これは、その構造を反復するデモです。

于 2012-10-06T23:29:44.790 に答える