0

こんにちは、json データを格納するローカル ファイルに問題があります。

{
  "tournament": [{
    "TeamName": "AS Roma",
    "TeamPlayer": "Rickard"
  } {
    "TeamName": "Inter",
    "TeamPlayer": "Bobban"
  }]
}​

次に、ボタンをクリックすると、このデータを配列に入力しようとします。ただし、「AS Roma」「Rickard」AND「Inter」「Bobban」ではなく、「AS Roma」と「Rickard」のみが必要です。

// Get teams
var url = "http://localhost:57608/json/teams.txt";
$("#btnGetTeams").on('click', function() {
    var allItems = [];
    $.getJSON(url, function(data) {
        $.each(data, function(i, team) {
            allItems.push({
                theTeam: team.tournament.TeamName,
                thePlayer: team.tournament.TeamPlayer
            });
        });
        $.each(allItems, function(i, val) {
            $('#teams').append('<p>' + val.theTeam + val.thePlayer + '</p>');
        });
    });
});​

したがって、AS Roma Rickard Inter Bobban を出力する代わりに、AS Roma Rickard のみを書き込みます。私は何を間違っていますか?

Sushanth のおかげで完全に機能するコードを更新

// Get teams
var url = "http://localhost:57608/json/teams.txt";
$("#btnGetTeams").on('click', function () {
                var allItems = [];
                $.getJSON(url,
                         function (data) {                               
                                 $.each(data.tournament, function (i) {
                                     allItems.push({
                                         theTeam: data["tournament"][i]["TeamName"],
                                         thePlayer: data["tournament"][i]["TeamPlayer"],
                                     });
                                 });
                             $.each(allItems, function (i, val) {
                                 $('#teams').append('<p>' + val.theTeam + val.thePlayer + '</p>');
                             });                                 
                         });
            });

Jsonと

{
"tournament": [
        {
            "TeamName": "AS Roma",
            "TeamPlayer": "Rickard" 
        },
        { 
            "TeamName": "Inter",
            "TeamPlayer": "Bobban" 
        }
            ]                       

}

4

1 に答える 1

2

JSON にカンマがありません

},  <-- Missing comma between two objects
 { 

また、間違った方法でjsonにアクセスしています..jsonはオブジェクトの配列です

$.each(data.tournament, function (i, team) {
       allItems.push({
                        theTeam : team.TeamName,
                        thePlayer: team.TeamPlayer
    });
}); 

フィドルをチェック

ここに画像の説明を入力

ブラケット表記でこの方法を試してください..

$.each(data.tournament, function(i) {
    allItems.push({
        theTeam: data["tournament"][i]["TeamName"],
        thePlayer: data["tournament"][i]["TeamPlayer"],
    });
});

フィドルブラケット記法

これが機能しない場合は、for ループを使用します

var allItems = [];
var data = data.tournament;
var i = 0;
for(key in data){
     allItems.push({
        theTeam: data[i].TeamName,
        thePlayer: data[i].TeamPlayer,
    });

}

フィドル用

于 2012-11-02T18:48:42.093 に答える