我的应用程序从服务器收到以下消息
got error from the Observable: {result: "error", additional-info: "", http-status: "401", http-status-text: "Unauthorized"}
我将其解析为变量
error:ServerResponseAPI
如果我做JSON.stringify(error['additional-info'])
,我注意到结果是""""
而不是""
为什么?
答案 0 :(得分:2)
$
是一个空字符串,它是有效的JSON(任何单个字符串都是有效的JSON)。如果对空字符串使用""
,它将把提供的值字符串化/序列化为JSON。在这种情况下,这是一个空字符串,因此它将为您提供一串引号。这就是为什么在记录值时可能会看到JSON.stringify
或'""'
的原因。这是一个字符串,其中包含一个空字符串(两个引号)的JSON表示形式。
""""
会给您JSON.stringify('a')
。
答案 1 :(得分:1)
外部引号表示该内容在字符串中。
您的json内容是一个用真实字符串表示的空字符串,可以用转义符"\"\""
表示。
如果error['additional-info']
为空,则JSON.stringify(error['additional-info'])
将返回"null"
。在这种情况下,内容为null
值,不带引号。
JSON.stringify
将永远不会返回空字符串。