2

以下に JSON オブジェクトがあり、複数のネストされた分割があり、最初の分割には識別子がありません。for ループを使用して最後のディビジョン内のチームにアクセスしようとしていますが、アクセスできません。いくつかのガイダンスが必要です。

{
    "division": {
        "division": [
            {
                "team": {
                    "id": "229525",
                    "name": "MyTeam",
                    "photo": "",
                    "visible": "True",
                    "RosterView": "True",
                    "PublicResults": "True",
                    "Statistics": "False",
                    "privilege": [
                        "False",
                        "True",
                        "True",
                        "True",
                        "True",
                        "True",
                        "True"
                    ]
                },
                "name": "Boys 9-10",
                "id": "12897",
                "sort": "0",
                "open": "0"
            },
            {
                "team": [
                    {
                        "id": "229523",
                        "name": "Cougars",
                        "photo": "",
                        "visible": "True",
                        "RosterView": "True",
                        "PublicResults": "True",
                        "Statistics": "False",
                        "privilege": [
                            "False",
                            "True",
                            "True",
                            "True",
                            "True",
                            "True",
                            "True"
                        ]
                    },
4

2 に答える 2

1

最初に、json の括弧を修正する必要があります。

var a = {
    "division": {
        "division": [
            {
                "team": {
                    "id": "229525",
                    "name": "MyTeam",
                    "photo": "",
                    "visible": "True",
                    "RosterView": "True",
                    "PublicResults": "True",
                    "Statistics": "False",
                    "privilege": [
                        "False",
                        "True",
                        "True",
                        "True",
                        "True",
                        "True",
                        "True"
                    ]
                },
                "name": "Boys 9-10",
                "id": "12897",
                "sort": "0",
                "open": "0"
            },
            {
                "team": [
                    {
                        "id": "229523",
                        "name": "Cougars",
                        "photo": "",
                        "visible": "True",
                        "RosterView": "True",
                        "PublicResults": "True",
                        "Statistics": "False",
                        "privilege": [
                            "False",
                            "True",
                            "True",
                            "True",
                            "True",
                            "True",
                            "True"
                        ]
                    }
                   ]
           }
        ]
    }
}

次に、次の方法で 2 番目の「チーム」オブジェクトに到達できます。

a['division']['division'][1]['team'][0]['id'];

これにより、 が得られますid。好きなものを選択できます。それほど複雑ではありません。パズルのように読んでください。

これが実際の例です: JSFiddle

ここにいくつかの for ループがあります:

var json1 = a['division']['division'][1]['team'][0]; // this is for second team array,
    json2 = a['division']['division'][0]['team']; // this is for first team object,

for (obj in json1){
    return json[obj];
};

あなたのjsonによると、最初と2番目teamsは同じデータ型ではありません。最初のチームは配列ですが、2 番目のチームはオブジェクトです。そのため、2 つの異なる変数があります。

于 2013-04-25T01:24:44.443 に答える