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

标签 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

最后一个节点是问题所在,仅供引用。

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

最佳答案

您的问题不是 unicode 转义,而是未转义的换行符。

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

关于javascript - 我如何使用 JavaScript 转义 JSON 字符串中的 Unicode 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2438950/

相关文章:

javascript - 如何在用户脚本中集成第三方 JavaScript 库

javascript - 为什么 select2 不起作用?

javascript - 如何从 Javascript 调用 ext.net 按钮并设置为启用它?

MySQL 到 JSON 不一致提取

php - 在 PHP 中删除字符串开头的几个字符?

java - 如何对相同的表达式进行不同的评估?

javascript - AMP 设置和获取 cookie 值

php - 使用 PHP 接收 JSON POST

json - MongoDB,在 $convert(aggregation) 中将带逗号的字符串转换为 double 。无法解析数字 '1,533.07'

java - 如何正确地将String转换为ArrayList?