如何正确转义JSON.stringify中的引号?

时间:2018-12-09 05:00:35

标签: javascript json

我使用JSON.stringify并获得以下结果

{"key1":"1","key2":"2","key3":[{"jobCode":"full","income":"1","desc":"test"},{"jobCode":"xxx","income":"2","desc":"test"}]} 

但是我需要得到以下结果

{"key1":"1","key2":"2","key3":"[{\"jobCode":\"full\",\"income\":\"1\",\"desc\":\"test\"},{\"jobCode":\"xxx\",\"income\":\"2\",\"desc\":\"test\"}]"} 

我想确保key3的值用引号引起来。和内部值引号转义

我尝试了JSON.strigify,但它给了我第一个结果,但是我需要第二个

1 个答案:

答案 0 :(得分:3)

如果在 key3 上使用 JSON.stringify ,然后将其替换为对象,它将作为字符串传递。

var obj = {"key1":"1","key2":"2","key3":[{"jobCode":"full","income":"1","desc":"test"},{"jobCode":"xxx","income":"2","desc":"test"}]};

var jsonKey3 = JSON.stringify(obj.key3);

obj.key3 = jsonKey3;

console.log(obj);

console.log(JSON.stringify(obj));