根据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