在jQuery中解析json格式响应数据的最简单方法

时间:2013-11-20 06:29:00

标签: jquery json

实施例,

从服务器端发送像这样的json格式数据

[{"id":3,"firstname":"Hansik","lastname":"Lee","email":"hansik.lee@access-company.com"},{"id":179,"firstname":"hansik1","lastname":"hansik1","email":"hansik1@hansik1.com"},{"id":193,"firstname":"hansik","lastname":"hansik","email":"ikebi77@gmail.com"}]

在jquery中打印每个键和值的最简单方法是什么?

有一个好的图书馆或api吗?

尝试使用jQuery.parseJSON,但我认为它支持非常简单的格式。

success: function (result) {
                //do somthing here
                    //window.alert(result);
                    window.alert(jQuery.parseJSON(result));
                },

它只显示[Object object], [Object object], [Object object]

3 个答案:

答案 0 :(得分:3)

为什么要通过将dataType: 'json'传递给jQuery将执行的ajax请求来解析它,并为您提供一个已解析的对象作为响应

首先警告使用json对象,你需要对其进行字符串化。您可以使用JSON.stringify()来执行此操作(对于旧浏览器包括json2

window.alert(JSON.stringify(result));

出于调试目的,使用像

这样的浏览器控制台要好得多
console.log(result)

使用$.each()之类的

$.each(result, function(idx, obj){
    console.log(obj.id);//or firstname or any othe property
})

答案 1 :(得分:0)

你可以拥有dataType:json,你的服务器端应该能够将你的对象转换为json表示,使用json处理器完成这项任务,使用下面的代码你将获得json格式的响应,使用{{1迭代

$.each

答案 2 :(得分:0)

试试这个

var arr=[{"id":3,"firstname":"Hansik","lastname":"Lee","email":"hansik.lee@access-company.com"},{"id":179,"firstname":"hansik1","lastname":"hansik1","email":"hansik1@hansik1.com"},{"id":193,"firstname":"hansik","lastname":"hansik","email":"ikebi77@gmail.com"}]
var output=''
for (var i in arr)
{
  output+='<tr><td>'+arr[i].id+'</td><td>'+arr[i].firstname+'</td><td>'+arr[i].lastname+'</td><td>'+arr[i].email+'</td></tr>';
}
$('#s_d').empty().append(output);

DEMO