JSON解析函数未解析

时间:2015-08-21 03:18:29

标签: javascript java json

我在最新版本的Mozilla上运行Javascript函数,它接收一个我想要转换为JSON对象的字符串。转换似乎失败了。

在Java函数中在服务器端生成字符串:

         result = "[{ \"userID\": 1 \"firstName\":\"John\" \"lastName\":\"Sheridan\" }{ \"userID\": 2 \"firstName\":\"Michael\" \"lastName\":\"Geribaldi\" }]";

(请注意,我正在尝试返回列表的值数组。)

客户端的代码是如下所示的ajax回调:

var successFunc = function(data, textStatus, jqXHR)
{
    alert("Data: "+data);

    var obj = $.parseJSON(data);
    alert("Object: "+obj);
}

显然,数据将返回到回调并以字符串形式显示,但JSON解析器失败,因为第二个警报未能显示。我确信我的字符串有问题,但我很难搞清楚是什么。调试器没有告诉我任何事情,我只是看到一个无声的失败。

我还尝试使用JSON.parser()函数。我看到了同样的事情。我在某个地方犯了一个错误。有人能告诉我在哪里吗?

2 个答案:

答案 0 :(得分:2)

您的json无效,您缺少逗号

为了解析你的json应该是这样的

[
 { "userID": 1, "firstName":"John", "lastName":"Sheridan" },
 { "userID": 2, "firstName":"Michael", "lastName":"Geribaldi" }
]

答案 1 :(得分:1)

JSON是一种格式,其中key:value对的数据由,分隔,密钥和值包含在double quotes中,其中对象包含在{}括号和数组中被[]括起来希望你的错误在你的json缺乏的地方。

  "[{ 
    \"userID\": 1 ,
    \"firstName\":\"John\",
    \"lastName\":\"Sheridan\",
     },
    { 
    \"userID\": 2 ,
    \"firstName\":\"Michael\",
    \"lastName\":\"Geribaldi\" }]"