尝试解析对象

时间:2015-11-28 17:09:55

标签: jquery json

我从服务器获取一些数据,并将它们作为对象在json中返回。

我的ajax请求如下:

$.ajax({
 url: Url,
 dataType: 'json',
 success: function (result) {
            var obj = JSON.parse(result)
            $(".result").text(obj);
           }
})

如果我尝试使用JSON.parse(result),则会返回错误:Unexpected token o但在我的网络标签上的结果元素是正确的:

{service: "29”,…}
{service: “33",…}
{service: “45”,…}
{service: “70",…}

如果我使用JSON.parse(result),我打印的内容如下:

[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
我在做错了什么? 谢谢

修改

如果我在这里使用此代码:

$.ajax({
   url: Url,
   dataType: 'json',
   success: function (result) {
                    console.log (result)
                    $(".result").text(result.service);
                    console.debug (result.service);
                }
            })

第一个控制台具有以下结果:

0: Object
 service: "29"
__proto__: Object
1: Object
 service: "29"
__proto__: Object

但div中没有​​打印任何内容,第二个控制台未定义

1 个答案:

答案 0 :(得分:1)

当您使用dataType:"json"时,您不需要解析json对象,默认情况下会将其解析,您可以将其用作对象。

  

您期望从服务器返回的数据类型。如果没有指定,jQuery将尝试根据响应的MIME类型推断它(XML MIME类型将产生XML,在1.4 JSON中将产生一个JavaScript对象,在1.4脚本中将执行脚本,其他任何东西将是以字符串形式返回)。可用的类型(以及作为成功回调的第一个参数传递的结果)

来自jQuery.ajax()