可以使用双引号JSON的转义字符

use*_*592 2 json angularjs

我有一个没有转义字符的json,我的代码无法解析,因为没有转义字符.我可以通过\在双引号之前添加一个来使其工作.但是,由于一些限制,我正在寻找一种解决方法,我想知道 -

一个.有没有其他方法可以使这个json工作没有转义字符,并且具有双引号的内容在我的应用程序上按原样显示,或者

湾 在所有双引号之前我是否一定需要一个转义字符并且没​​有解决方法?

"abc": {
    "x1": {
        "text1": "key1",
        "text2": "Given "Example text" is wrong"
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢 !!

T.J*_*der 5

你的例子是无效的JSON,但我想你知道.:-)

在所有双引号之前我是否一定需要一个转义字符

是的,在"JSON字符串中使用内部的唯一方法是使用某种类型的转义.与JavaScript不同,JSON没有'-delimited字符串或反引号分隔的模板,这些模板成为字符串(ES2015中的新功能).有一对夫妇,你可以使用(不同的转义序列\",并\u0022为实例),但他们仍然转义序列.毕竟,"JSON解析器知道它是如何找到字符串的结尾.

在HTML的特定情况下,"如果您将字符串解释为HTML,则还可以使用(命名字符实体).但这并没有改变你需要正确转义字符串的事实(因为换行符和其他几个字符也需要转义,而不仅仅是").

我的经验是,生成JSON的最佳方法是在内存中生成一个结构,然后使用环境的工具将该结构转换为有效的JSON.在JavaScript中,那是JSON.stringify; 在PHP中,它是json_encode; 您可以找到的任何语言或环境都有一个JSON库(内置或不内置).