如何用jquery解析Json中有特殊的字符?

时间:2012-02-21 15:52:11

标签: javascript jquery json

我得到了一个json结构,如下所示,我的问题是如何用jQuery解析它,以便我可以像myJson[0].name一样使用它,然后提醒它"M\\xe9t\\xe9o" = Météo

Jquery告诉我这是无效的json为什么? 如果我使用单反斜杠(“M \ xe9t \ xe9o”),Json使用双反斜杠。Jquery的语法正常。

var jsonObj = '{"title":[{"id":"1","name": "M\\xe9t\\xe9o"},{"id":"2","name": "Meteo"}]}';

var myJson = jQuery.parseJSON(jsonObj);

2 个答案:

答案 0 :(得分:1)

JSON syntax allows \uxxxx逃脱 将其更改为"M\\u00e9t\\u00e9o"

如果使用单个反斜杠,它将被Javascript字符串文字解析,因此实际的字符串值包含真正的Unicode字符,而不是转义符。换句话说,"M\xe9t\xe9o" === "Météo"

答案 1 :(得分:0)

看起来json不正确(手动?)编码。以UTF-8编码时,例如用PHP,你会得到:

{"title":[{"id":"1","name": "M\u00e9t\u00e9o"},{"id":"2","name": "Meteo"}]}

由JS正确解析。但解析器无法识别\xe9