应用JSON.parse后包含\“的JSON字符串

时间:2016-10-21 04:18:01

标签: javascript json

我收到一条消息,我必须解析以在javascript中从.NET应用程序创建JSON对象,但是当我使用以下说明解析消息时:

var messagePropertiesString  = JSON.stringify(messageObject.json);
var messageProperties = JSON.parse(messagePropertiesString);

结果包含反斜杠,因此我无法将其转换为JSon对象,因为它有反斜杠。

{\"TravelNumber\":1,\"Unit\":\"g\",\"Weight\":0}

如何删除额外的反斜杠?

1 个答案:

答案 0 :(得分:3)

messageObject.json已经是一个字符串,因此不需要对其进行字符串化,当你这样做时,你会得到一个需要解析两次的字符串(第一个解析只会撤消stringify并让你回来获取对象的一串JSON:

var messagePropertiesString  = JSON.stringify( messageObject.json );
var messageProperties = JSON.parse( JSON.parse( messagePropertiesString ) );

相反,你应该跳过stringify,只需解析一次:

var messageProperties = JSON.parse( messageObject.json );