2010-08-18 62 views
0

我想解析一些非常基本的JSON,但我不知道当我试图将它显示到屏幕上时我会出错。基本的jQuery与JSON解析

我是不是正确抓取数据,比如“data.re1Code”? 我希望有人能够对我的基本问题表示歉意。

JSON数据

[ 
    { 
     "rep1FullName": "Justin Giesbrecht", 
     "rep1Code": "dc", 
    } 
] 

的Javascript

$.ajax({ 
    type: "GET", 
    url: "testJSONData.php", 
    dataType: "json", 
    success: function(data) { 

    $("#output").append(data.rep1FullName); 

}, 
    error: function() { alert("Error"); } 
}); // End of generated json 

回答

2

括号[]使数据成为JSON数组,使您的对象成为第0个元素,以便使“Justin Giesbrecht”使用代码:$("#output").append(data[0].rep1FullName);或删除括号并使JSON为:

{ 
     "rep1FullName": "Justin Giesbrecht", 
     "rep1Code": "dc", 
    } 
+0

那么我以这种方式获取数据的原因是PHP如何使用json_encode()。从来没有想过这个问题。谢谢你的工作很棒! – Justin 2010-08-18 16:13:04

1

你的数据是一个数组。

所以你会希望

$("#output").append(data[0].rep1FullName); 
+0

那么我以这种方式获取数据的原因是PHP如何使用json_encode()。从来没有想过这个问题。谢谢你的工作很棒! – Justin 2010-08-18 16:12:01

1

你是返回一个JSON数组所以你需要通过data[0].rep1FullName访问,或返回JSON作为下面,然后用data.rep1FullName

{ 
    "rep1FullName":"Justin Giesbrecht", 
    "rep1Code":"dc" 
} 
+0

那么我以这种方式获取数据的原因是PHP如何使用json_encode()。从来没有想过这个问题。谢谢你的工作很棒! – Justin 2010-08-18 16:12:21

1

另外,从对象表示法中删除最后一个逗号。

[ 
    { 
     "rep1FullName": "Justin Giesbrecht", 
     "rep1Code": "dc" // <-- No comma, breaks in IE if you have a comma. 
    } 
] 

一些其他的海报做到了这一点,但没有提到它。

+0

好眼球队长! – Justin 2010-08-18 16:50:00