Javascript 为什么JSON.stringify会添加额外的&引用;

Javascript 为什么JSON.stringify会添加额外的&引用;,javascript,json,Javascript,Json,我的应用程序从服务器接收以下消息 从可观察对象中获取错误:{result:“error”,附加信息:,http状态:“401”,http状态文本:“Unauthorized”} 我把它解析成一个变量 error:ServerResponseAPI 如果我执行JSON.stringify(错误['additional-info']),我注意到结果是”,而不是” 为什么?“是一个空字符串,它是有效的JSON(任何单个字符串都是有效的JSON)。如果对空字符串使用JSON.stringify,它会将

我的应用程序从服务器接收以下消息

从可观察对象中获取错误:{result:“error”,附加信息:,http状态:“401”,http状态文本:“Unauthorized”}

我把它解析成一个变量

error:ServerResponseAPI
如果我执行
JSON.stringify(错误['additional-info'])
,我注意到结果是
,而不是

为什么?

是一个空字符串,它是有效的JSON(任何单个字符串都是有效的JSON)。如果对空字符串使用
JSON.stringify
,它会将提供的值字符串化/序列化为JSON。在本例中,这是一个空字符串,因此它将为您提供一个引号字符串。这就是为什么您在记录值时可能会看到
“”“
”或
“”
。它是一个包含空字符串(两个引号)的JSON表示的字符串


JSON.stringify('a')
将为您提供
'“a”
,例如。

外部引号表示此内容在字符串中

您的json内容是一个在真实字符串中表示的空字符串,它可以用转义符表示:
“\”

如果
error['additional-info']
为空,
JSON.stringify(error['additional-info'])
将返回
“null”
。本例中的内容是
null
值,不带引号

JSON.stringify
永远不会返回空字符串