2016-09-09 20 views
1

私は私のjsonの応答をforeachしようとしています。
これは私のJSONです:Foreson on jsonの応答

$.each(data[0].sections[0] , function(i, star) { 
    $('#test-ul').append('<li>' + star + '</li>'); 
}); 

しかし、私はエラーを取得しています:

Uncaught TypeError: Cannot use 'in' operator to search for 'length' in VIP Section 

レコードが唯一つのセクションを持っているとき、それはだ私はAJAXの成功にそう

[ 
    { 
     "id":1, 
     "firstname":"Erich", 
     "sections":[ 
      "VIP Section", 
      "God Section" 
     ] 
    } 
] 

エラーは返されませんが、HTMLには追加されません。

答えて

3

あなたは単語ではなく配列でループしているようです。

はVIPセクションであるセクションでの0の要素にアクセスし、それを反復処理しようとして

$.each(data[0].sections , function(i, star) { 
    $('#test-ul').append('<li>' + star + '</li>'); 
}); 
0

youreのを試してみてください。セクションから[0]を削除する

0

これは文字列の配列なので、セクションプロパティを解析する必要があります。

あなたのJSONの結果を解析するために以下のコードを使用しよう:

<script> 
    var jsonData = [{ 
       "id": 1, 
       "firstname": "Erich", 
       "sections": [ 
        "VIP Section", 
        "God Section" 
       ] 
       }]; 
    function clickIt(){ 
    console.log(jsonData); 

    $.each(jsonData , function(i, star) { 
     console.log("id", star.id); 
     console.log("firstname", star.firstname); 
     console.log("sections"); 
     $.each(star.sections, function(i, sectionx){ 
     console.log(i, '-', sectionx); 
     }); 
    }); 
    } 

</script> 

enter image description here