在json中转义javascript:hex的字符串

时间:2015-03-01 16:48:08

标签: javascript json hex

此字符串

  

{\ x22Address \ x22:\ x22some的地址,引号为\ x22 \ x22}

在浏览器中正确解析JSON.parse。为什么?十六进制数字在json字符串中的含义是什么?我找不到解释。

3 个答案:

答案 0 :(得分:5)

在Javascript中,反斜杠是一个转义字符。有几个转义序列,您可以find a list here

最重要的是:

  • \x后跟两个十六进制字符代表字符的ascii代码
  • \u后跟四个十六进制字符代表字符的unicode数字
  • \t\r\n您当然知道。它们分别是制表符,回车符和换行符。

答案 1 :(得分:2)

如果你在ascii表中查找十六进制值22,你可以看到它的引号(“)。这就是为什么它正确解析了。http://www.asciitable.com/

var str= "{\x22test\x22: \x22hello\x22}";
var test = JSON.parse(str);
console.dir(test);

{test:'hello'}

答案 2 :(得分:1)

尝试

console.log(decodeURIComponent("\x22")); // `"""`

请参阅ascii Chart