How do I handle newlines in JSON?我生成了一些JSON,并尝试将其拉入JavaScript中的对象。 我不断出错。 这是我所拥有的:
这给我一个错误:
使用
当我在 我想这就是你想要的:
(您需要对字符串中的""进行转义(将其转换为双"-""),否则它将成为JSON源中的换行符,而不是JSON数据。)
如果
结果
根据规范,http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf:
因此,您不能直接传递
由于大多数编程语言都使用
例如,您可以在写入JSON字段的值时在服务器上转义字符串,而在客户端浏览器中获取值时取消转义字符串。 所有主要浏览器的JavaScript实现都具有unescape命令。 例: 在服务器上:
在浏览器中:
我使用此函数来去除数据中的换行符或其他字符以解析JSON数据:
您可能需要研究以下C#函数来转义字符串: http://www.aspcode.net/C-encode-a-string-for-JSON-JavaScript.aspx
我在PHP4中创建一个类来模拟json_encode(在PHP5中可用)时遇到了这个问题。这是我想出的:
我遵循这里提到的规则。我只使用了我需要的内容,但是我认为您可以使用所使用的语言来使其适应您的需求。在我的情况下,问题不是我最初想到的换行符,而是/未被逃脱。我希望这可以防止其他人因我弄清楚自己做错了什么而感到头疼。
据我所知,这与解析JSON无关,因为您可以将JSON直接复制粘贴到代码中-因此,在这种情况下,只需将JSON直接复制到
|