Javascript JSON字符串中是否支持双引号?
当我通过JSON字符串中的Javascript JSON字符串中是否支持双引号?,javascript,json,Javascript,Json,当我通过JSON字符串中的\“转义双引号时,解析器会失败。但是,当我使用JSON.stringify时,它能够以某种方式正确转义字符串 我怀疑我没有正确地避开双引号。请查看代码以了解更多详细信息 var数据={ “singleQuoteHtml”:“内容”, “doubleQuoteHtml”:“内容”, “单引号”:“嗨”, “双引号”:“嗨” }; var dataString='{“singleQuoteHtml”:“content”,' +“doubleQuoteHtml”:“内容”
\“
转义双引号时,解析器会失败。但是,当我使用JSON.stringify
时,它能够以某种方式正确转义字符串
我怀疑我没有正确地避开双引号。请查看代码以了解更多详细信息
var数据={
“singleQuoteHtml”:“内容”,
“doubleQuoteHtml”:“内容”,
“单引号”:“嗨”,
“双引号”:“嗨”
};
var dataString='{“singleQuoteHtml”:“content”,'
+“doubleQuoteHtml”:“内容”
+“单引号”:“嗨”
+“双引号”:“嗨”
+ '}';
函数解析()
{
//Stringify能够创建单引号和双引号
log(JSON.parse(JSON.stringify(data));
//当我自己转义双引号时,解析器失败
//取消注释以查看失败
//log(JSON.parse(dataString));
}
解析JSON
字符串文本”。。。“hi\”…“
的计算结果为“hi”“
,不带反斜杠
反斜杠作为转义序列被字符串文本吞并
您需要将反斜杠转义为
\\
,以将实际反斜杠放入字符串中。字符串文字'。。。“hi\”…“
的计算结果为“hi”“
,不带反斜杠
反斜杠作为转义序列被字符串文本吞并
您需要将反斜杠转义为
\\
,才能在字符串中添加实际的反斜杠。为什么要使用字符串连接创建数据字符串?为什么不创建一个常规JavaScript对象,然后使用JSON.stringify()
创建dataString
,这将解决转义过程中可能出现的许多问题。实际代码是基于Java的。而提供给我的数据是一个普通的旧字符串,而不是Java对象。因此,我不确定如何在Java中使用这些约束进行字符串化。但你可能是对的。在Java中,您可以通过添加String
属性aTestClass
并通过String jsonRawString=objectMapper.writeValueAsString(testObject)反序列化TestClass
来避免手动转义字符串
为什么要使用字符串连接创建数据字符串?为什么不创建一个常规JavaScript对象,然后使用JSON.stringify()
创建dataString
,这将解决转义过程中可能出现的许多问题。实际代码是基于Java的。而提供给我的数据是一个普通的旧字符串,而不是Java对象。因此,我不确定如何在Java中使用这些约束进行字符串化。但你可能是对的。在Java中,您可以通过添加String
属性aTestClass
并通过String jsonRawString=objectMapper反序列化TestClass
来避免手动转义字符串。writeValueAstring(testObject)