Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSON字符串中是否支持双引号?_Javascript_Json - Fatal编程技术网

Javascript JSON字符串中是否支持双引号?

Javascript JSON字符串中是否支持双引号?,javascript,json,Javascript,Json,当我通过JSON字符串中的\“转义双引号时,解析器会失败。但是,当我使用JSON.stringify时,它能够以某种方式正确转义字符串 我怀疑我没有正确地避开双引号。请查看代码以了解更多详细信息 var数据={ “singleQuoteHtml”:“内容”, “doubleQuoteHtml”:“内容”, “单引号”:“嗨”, “双引号”:“嗨” }; var dataString='{“singleQuoteHtml”:“content”,' +“doubleQuoteHtml”:“内容”

当我通过JSON字符串中的
\“
转义双引号时,解析器会失败。但是,当我使用
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
属性a
TestClass
并通过
String jsonRawString=objectMapper.writeValueAsString(testObject)反序列化
TestClass
来避免手动转义字符串
为什么要使用字符串连接创建数据字符串?为什么不创建一个常规JavaScript对象,然后使用
JSON.stringify()
创建
dataString
,这将解决转义过程中可能出现的许多问题。实际代码是基于Java的。而提供给我的数据是一个普通的旧字符串,而不是Java对象。因此,我不确定如何在Java中使用这些约束进行字符串化。但你可能是对的。在Java中,您可以通过添加
String
属性a
TestClass
并通过
String jsonRawString=objectMapper反序列化
TestClass
来避免手动转义字符串。writeValueAstring(testObject)