我得到了一个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);
答案 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
。