根据http://json.org/的文档所述,在value中遇到"和\的时候需要进行转义。
而对于JSON字符串和JSON对象,两者的转义是不同的。
<script>
function test(){
//JSON对象转义,只需加一个\即可
data={"key":"\\val\"tt\"ue"};
//JSON字符串,需要再次对\转义,共需要三个\,即使用\\\"转义"符号
data2="{\"key\":\"\\\\val\\\"tt\\\"ue\"}";
data2=JSON.parse(data2);
console.log(JSON.stringify(data));
console.log(data.key);
console.log(data2.key);
}
</script>
结果为:
{"key":"\\val\"tt\"ue"}
\val"tt"ue
\val"tt"ue