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"]是一个数组,所以要访问你想要的属性,首先你必须访问这个数组的一个元素 bi 它的索引(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-whatever 实际上是一个数组。您可能也必须为更深层次做同样的事情。

于 2013-01-14T17:33:11.900 回答