0

だから私は$.getJSONステートメントを実行していますが、いくつか問題があります...これがjsonです:

{
    "K-6608-1-0": [
        {
            "Info": [
                {
                    "SVGFile": "46658.svg",
                    "Name": "Faucet Parts"
                }
            ],
            "Parts": [
                {
                    "Cod":"70012",
                    "Name":"Ruela de Parafuso Reforçado B2",
                    "Price":"$100"
                },
                {
                    "Cod":"71131",
                    "Name":"Parafusasdasdasdsdao Reforçado B2",
                    "Price":"$45"
                },
                {
                    "Cod":"78208",
                    "Name":"Tubo de Conexão R2D2",
                    "Price":"$150"
                }
            ]
        }
    ]
}

だから、私がgetJSONをそのように作ったとしましょう:

$.getJSON('test.json', function(data){
   alert(data["K-6608-1-0"]["Info"]["SVGFile"]);
})

このコードが「46658.svg」を返さないのはなぜですか?エラーはどこにありますか?

よろしくお願いします^^

4

3 に答える 3

3

K-6608-1-0Infoは配列なので、位置を設定する必要があります。

alert(data["K-6608-1-0"][0]["Info"][0]["SVGFile"]);
                         ^          ^
于 2013-01-14T17:33:32.757 に答える
2

これdata["K-6608-1-0"]は、が配列であるためです。必要なプロパティにアクセスするには、まず、この配列の要素にそのインデックス(これdata["K-6608-1-0"][0]["Info"]も配列)でアクセスする必要があります。

$.getJSON('test.json', function(data){
    alert(data["K-6608-1-0"][0]["Info"][0]["SVGFile"]);
    //                       ^          ^
});
于 2013-01-14T17:33:24.193 に答える
0
alert(data["K-6608-1-0"][0]["Info"]["SVGFile"]);
                        ^^^--- add this

ネストされた配列にネストされたオブジェクトにネストされた配列があります。最初のK-実際には配列です。より深いレベルでも同じことをする必要があるでしょう。

于 2013-01-14T17:33:11.900 に答える