Javascript 读取一个json字符串,其中包含一个'&引用;(畸形?)
我需要使用一个返回JSON的服务。我对该服务(第三方)没有任何影响 如果我这样做Javascript 读取一个json字符串,其中包含一个'&引用;(畸形?),javascript,json,node.js,coffeescript,Javascript,Json,Node.js,Coffeescript,我需要使用一个返回JSON的服务。我对该服务(第三方)没有任何影响 如果我这样做 JSON.parse (data) 我得到一份工作 SyntaxError: Unexpected token 我知道服务可以工作,因为错误的发生取决于输入参数。 换句话说,有时候它确实有效!HTTP响应代码是200,因此它不是某种访问错误,并且是可重复的 我可以假设他们返回的是格式错误的JSON吗? 将数据作为文本文件写入磁盘并按如下方式读取: fs=需要('fs') 返回 undefined:1 De L
JSON.parse (data)
我得到一份工作
SyntaxError: Unexpected token
我知道服务可以工作,因为错误的发生取决于输入参数。
换句话说,有时候它确实有效!HTTP响应代码是200,因此它不是某种访问错误,并且是可重复的
我可以假设他们返回的是格式错误的JSON吗?
将数据作为文本文件写入磁盘并按如下方式读取:
fs=需要('fs')
返回
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:
下面是整个文件:
该服务确实返回了格式错误的JSON JSON中没有
\'
转义序列。在Javascript中转义任何字符都是完全有效的,但JSON使用Javascript语法的子集,只允许转义实际需要转义的字符。由于撇号在JSON中不用作字符串分隔符,因此它永远不需要转义
如果无法修复该服务,则需要以纯文本形式请求JSON,将转义的撇号替换为撇号本身,然后将文本解析为JSON。该服务确实返回了格式错误的JSON JSON中没有
\'
转义序列。在Javascript中转义任何字符都是完全有效的,但JSON使用Javascript语法的子集,只允许转义实际需要转义的字符。由于撇号在JSON中不用作字符串分隔符,因此它永远不需要转义
如果无法修复服务,则需要以纯文本形式请求JSON,将转义的撇号替换为撇号本身,然后将文本解析为JSON。似乎它们的结尾有语法错误,这也是我自己假设的。尝试验证数据:并告诉它说什么。你能发布实际的错误JSON吗?如果我们能看到它,我们也许能做出更准确的判断。@fablife好的,你能在报告错误的地方只发布文件的一部分吗?似乎他们的结尾有语法错误,这也是我自己假设的。尝试验证数据:并告诉它说什么。你能发布实际的错误JSON吗?如果我们能看到它,我们也许能做出更准确的判断。@fablife好的,你能在报告错误的地方贴出文件的一部分吗?
Parse error on line 1297:
... "Address": "36 Rue De L\'Embust
-----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['