JSON.stringify无需转义

JSON.stringify将我的json对象转换为以下字符串

{\ “2003 \”:{\ “1 \”:{\ “2 \”:[\ “测试\”],\ “3 \”:[\ “TEST2 \”]}}}

什么时候不应该逃脱。 结果应该是下面引用的字符串

{ “2003”:{ “1”:{ “2”:[ “测试”], “3”:[ “TEST2”]}}}

而不是使用所有转义引号的一般替换并删除可能在输入中的引号。 如何设置JSON.stringify不要双重转义变量?

您正在字符串化字符串,而不是对象:

 var str = '{"2003":{"1":{"2":["test"],"3":["test2"]}}}'; var obj = {"2003":{"1":{"2":["test"],"3":["test2"]}}}; console.log( JSON.stringify(str) ); // {\"2003\":{\"1\":{\"2\":[\"test\"],\"3\":[\"test2\"]}}} console.log( JSON.stringify(obj) ); // {"2003":{"1":{"2":["test"],"3":["test2"]}}}