javascript
  • jquery
  • json
  • 2012-02-21 63 views 1 likes 
    1

    我以某種方式得到了一個json結構,如下所示,我的問題是如何使用jQuery解析此問題,以便我可以像使用myJson[0].name那樣使用它,並且提醒它以便"M\\xe9t\\xe9o" = Météo如何解析JSON和jQuery中有特殊的字符?

    jquery告訴我這是無效的json爲什麼? 如果我使用單個反斜槓(「M \ xe9t \ xe9o」),Json使用雙反斜槓。語法正確無誤。

    var jsonObj = '{"title":[{"id":"1","name": "M\\xe9t\\xe9o"},{"id":"2","name": "Meteo"}]}'; 
    
    var myJson = jQuery.parseJSON(jsonObj); 
    

    回答

    1

    JSON syntax只有allows\uxxxx逃逸。
    將其更改爲"M\\u00e9t\\u00e9o"

    如果使用單個反斜槓,它會被Javascript字符串文字解析,所以實際的字符串值包含真正的Unicode字符,而不是轉義。換句話說,"M\xe9t\xe9o" === "Météo"

    +0

    我的壞我假設它接受\\ x我會改變它\\ uxxxx看起來像它的作品thx – Marcio 2012-02-21 16:12:27

    0

    這看起來像json不正確(手動?)編碼。當你用UTF-8編碼時,例如與PHP,你會得到:

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

    這是由JS正確解析。但是解析器無法識別\xe9

    相關問題