我有一个没有转义字符的json,我的代码无法解析,因为没有转义字符.我可以通过\
在双引号之前添加一个来使其工作.但是,由于一些限制,我正在寻找一种解决方法,我想知道 -
一个.有没有其他方法可以使这个json工作没有转义字符,并且具有双引号的内容在我的应用程序上按原样显示,或者
湾 在所有双引号之前我是否一定需要一个转义字符并且没有解决方法?
"abc": { "x1": { "text1": "key1", "text2": "Given "Example text" is wrong" } }
谢谢 !!
你的例子是无效的JSON,但我想你知道.:-)
在所有双引号之前我是否一定需要一个转义字符
是的,在"
JSON字符串中使用内部的唯一方法是使用某种类型的转义.与JavaScript不同,JSON没有'
-delimited字符串或反引号分隔的模板,这些模板成为字符串(ES2015中的新功能).有一对夫妇,你可以使用(不同的转义序列\"
,并\u0022
为实例),但他们仍然转义序列.毕竟,"
JSON解析器知道它是如何找到字符串的结尾.
在HTML的特定情况下,"
如果您将字符串解释为HTML,则还可以使用(命名字符实体).但这并没有改变你需要正确转义字符串的事实(因为换行符和其他几个字符也需要转义,而不仅仅是"
).
我的经验是,生成JSON的最佳方法是在内存中生成一个结构,然后使用环境的工具将该结构转换为有效的JSON.在JavaScript中,那是JSON.stringify
; 在PHP中,它是json_encode
; 您可以找到的任何语言或环境都有一个JSON库(内置或不内置).