使用JSON.stringify时如何在字符串中保留反斜杠?

时间:2014-03-12 03:42:07

标签: json

所以我得到了一个反斜杠的字符串。 "kIurhgFBOzDW5il89\/lB1ZQnmmY="

我尝试添加额外的' \',但JSON.stringify( "kIurhgFBOzDW5il89\\/lB1ZQnmmY=")返回带有两个反斜杠而不是一个反斜杠的字符串。有没有办法使用JSON.stringify来保持反斜杠?

3 个答案:

答案 0 :(得分:10)

JSON.stringify没有删除反斜杠,它会对其进行编码。当您在另一端使用JSON.parse时,或者无论您使用什么来解码JSON,它都会返回原始字符串。

答案 1 :(得分:3)

反斜杠正在逃避正斜杠。所以JSON.stringify("\/")返回"/",因为它看到了一个转义的正斜杠,所以它只是一个正斜杠。 JSON.stringify("\\/")看到一个反斜杠被转义,然后是一个正斜杠,所以返回"\/"。你无法保留"确切的" stringify时的字符串,因为解析json字符串不会转义字符,所以你得到原始数据,只是没有转义。

答案 2 :(得分:1)

JSON.parse(JSON.stringify("kIurhgFBOzDW5il89\\/lB1ZQnmmY="))
// "kIurhgFBOzDW5il89\/lB1ZQnmmY="