2011-01-11 119 views
0

我一直在试图解析这一点。我试过谷歌和它似乎并没有工作...JSON jquery解析

这里的JSON:

{ 
"1": [ 
    { 
     "SUBCATEGORY_ID": "1", 
     "CATEGORY_ID": "1", 
     "NAME": "Sonic", 
     "SORTS": "1" 
    } 
], 
"2": [ 
    { 
     "SUBCATEGORY_ID": "2", 
     "CATEGORY_ID": "2", 
     "NAME": "Captain Planet", 
     "SORTS": "1" 
    }, 
    { 
     "SUBCATEGORY_ID": "3", 
     "CATEGORY_ID": "2", 
     "NAME": "Rocco Mordern life", 
     "SORTS": "2" 
    }, 
    { 
     "SUBCATEGORY_ID": "4", 
     "CATEGORY_ID": "2", 
     "NAME": "Sponge BOB", 
     "SORTS": "3" 
    } 
] 

}

这是我的jQuery代码:

jQuery(document).ready(function(){ 
    $.ajax({ 
     dataType: 'json', 
     url: 'subcategoriesAjax.php', 
     success: function(data){ 
       //alert(data.1[0]); 
     } 
    }); 
}); // $(document).ready(function(){ 

它似乎没有工作。

我也试过data.1.0 & data.1[0].SORTS

谢谢!

+0

您是否尝试过`数据[ “1”] [0] .SORTS`? :) – Matt 2011-01-11 19:55:38

回答

4
data["1"][0] 

应该做的伎俩

+1

你甚至不需要双引号 – 6502 2011-01-11 19:56:55

+0

在技术上是真实的,只有在这里为了可读性,区分使用`[]`运算符进行数组访问和对象访问。 – Dereleased 2011-01-11 20:43:40

1

不能使用点符号时,他们是数字访问性能。使用阵列状的符号来代替:

data['1'][0] 

更妙的是使用其他的东西比一个号码作为重点,或用正常的数组。

0

尝试:

...

成功:功能(数据){ 警报(data.d); }

...此警报的

0
alert(data["1"][0]["SUBCATEGORY_ID"]); 

结果为1