我是JQuery的新手。我从服务器获得了这个JSON响应,我该如何解析它?
[
{
"note": {
"created_at": "2012-04-28T09:41:37Z",
"updated_at": "2012-04-28T09:41:37Z",
"text": "aaaaaaaaaaafdafasd fasfasd dfa sdfasf asdfa fasdfda",
"lng": 44.5159794497071,
"id": 7,
"deleted": false,
"user_id": 1,
"note_type": "text",
"lat": 40.1884140543842
}
},
[ ... more JSON ...]
]
我怎么解析这个?
答案 0 :(得分:3)
您必须将请求的数据类型设置为“json”,并且数据将在您的成功回调中进行解析。
目前你需要知道的一切都在http://api.jquery.com/jQuery.ajax/
以下是您可以做的一个非常简单的示例:
$.ajax({
url: url, // the service URL. Must answer proper JSON
data: { // the parameters of the request. This should be adapted to your case
param1: value1,
param2: value2
},
dataType: "json",
type: "POST",
success: function(resultData) {
// here, resultData is your parsed json
},
error: function() {
// handle error here
}
});
答案 1 :(得分:1)
使用此jQuery方法解析JSON对象。
答案 2 :(得分:0)
如果服务器输出实际的JSON(问题中的示例有错误)并且它具有正确的内容类型(application/json
而不是PHP默认的text/html
)那么您不需要做任何事。
jQuery将为您解析它(并在成功处理程序中向您显示一个JavaScript对象)。
答案 3 :(得分:0)
那是不是 JSON。您发布的内容看起来像一个PHP数组,其中包含括号以尝试将其转换为JSON。
将来使用this site验证您的JSON。
现在,要将您的PHP数组转换为JSON,请使用json_encode()
并使用特定标头将其分发到浏览器。
$array = array( 'test' => 'sure' );
header('Content-type: application/json');
print json_encode($array);
exit;
现在,您将拥有可在JavaScript中使用的实际JSON。
$.get( 'yourFile.php',
function(data){
console.log(data);
}
);