我如何使用JavaScript转义JSON字符串中的Unicode字符?

时间:2010-03-13 15:52:30

标签: javascript json string

JSON字符串:

{
  "id":31896,

  "name":"Zickey attitude - McKinley,
   La Rosi\u00e8re,
   21 ao\u00fbt 2006",
...

}

这会导致JavaScript中出现未终止的字符串。

我尝试解决方案是:

data.replace(/(\S)\1(\1)+/g, '');

data.replace(/\\u([0-9A-Z])/, '');

任何想法/解决方案?

实施例: http://api.jamendo.com/get2/id+name+url+stream+album_name+album_url+album_id+artist_id+artist_name/track/jsonpretty/track_album+album_artist/?n=13&order=ratingmonth_desc&tag_idstr=jazz

最后一个节点是问题,fyi。

(/\\u([0-9A-Z])/, '\1');

2 个答案:

答案 0 :(得分:1)

你的问题不是unicode逃脱,而是未转义的新行。

{
    "id":31896,
    "name":"Zickey attitude - McKinley,\nLa Rosi\u00e8re,\n21 ao\u00fbt 2006"
}

答案 1 :(得分:1)

好吧,只有在使用json pretty时才会出现错误:)。

对我感到羞耻;)