【发布时间】:2013-10-09 07:54:55
【问题描述】:
我需要使用一个返回 JSON 的服务。我对该服务(第三方)没有任何影响。
如果我这样做了
JSON.parse (data)
我得到一个
SyntaxError: Unexpected token
我知道该服务有效,因为错误取决于输入参数。 换句话说,有时它确实有效! HTTP 响应码是 200,所以不是某种访问错误,而且是可重复的。
我可以假设他们返回格式错误的 JSON 吗? 将数据作为文本文件写入磁盘并像这样读取:
fs = 要求('fs')
fs.readFile 'output.json', '', (err, data) ->
if err?
console.log err
json = JSON.parse(data)
console.log json
返回
undefined:1
De L\'Embustier
^
SyntaxError: Unexpected token '
at Object.parse (native)
这有点奇怪,因为它似乎正确地转义了字符串,但它仍然没有被正确读取。
文件为300+k;还没看怎么贴。
编辑: 来自 jsonlint.com 的回应
Parse error on line 1297:
... "Address": "36 Rue De L\'Embust
-----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['
编辑2: 这是整个文件: http://pastebin.com/ACUfvPCx
【问题讨论】:
-
好像有语法错误
-
我自己也是这么认为的。
-
尝试验证数据:jsonlint.com 并说出它所说的内容。
-
你能发布实际的错误 JSON 吗?如果我们能看到它,我们或许能够做出更准确的判断。
-
@fablife 好吧,你能在报告错误的地方只发布一段文件吗?
标签: javascript json node.js coffeescript