JSON.parse语法错误,而JSONLint告诉我json字符串有效

时间:2012-01-12 12:48:48

标签: php json validation parsing jsonlint

我使用PHP内置函数json_encode()将对象数组转换为json string。然后我使用AJAX方法获取xmlhttp.responseText。我使用document.write(xmlhttp.responseText)来检查响应字符串。例如,字符串如下:

{"index":0,"marks":2}

但是,当我使用JSON.parse()来解析JSON字符串时,我收到语法错误。因此,我将此字符串复制到JSONLint以检查它是否有效,结果为否。

Parse error on line 1:
{    "index": 0
^
Expecting '{', '['

但是当我手动输入时,它是有效的。为什么呢?

1 个答案:

答案 0 :(得分:1)

您的responseText中可能有一些zero-width whitespace character或类似内容。

请注意,我强烈建议您使用console.log代替document.write进行调试。