【问题标题】:How to print unicode json using Javascript如何使用 Javascript 打印 unicode json
【发布时间】:2014-07-13 15:56:28
【问题描述】:

我尝试在我的 html 文档中打印 JSON 响应,所以我这样做了:

respdiv.innerHTML = '<pre><code>' + xhr.responseText + '</code></pre>';

问题是我的回复是这样打印的:

{ "error": "Sc\\u00e9nario invalide" }

我希望我的回复可以这样打印:

{ "error": "Scénario invalide" }

我怎么得到这个?

【问题讨论】:

  • 听起来你需要解决服务器上的问题。你能让服务器以 UTF-8 格式返回响应还是不转义 \ 字符?
  • 我会尝试弄清楚如何在服务器端做到这一点。

标签: javascript json unicode


【解决方案1】:

您可以将所有工作委托给JSON.parse() 然后unescape 角色:

var responseText = unescape(JSON.parse('"' + xhr.responseText + '"'));
respdiv.innerHTML = '<pre><code>' + responseText + '</code></pre>';

但正如@p.s.w.g 建议的那样,我建议在服务器端修复它。

【讨论】:

  • 您的代码不起作用,但我设法使用您的想法得到了结果。谢谢!
  • 您可以提供使其工作的 sn-p 以帮助未来的读者,想想社区 :)
  • 我更改了答案中提供的代码但未接受
  • 肯定它不会在我的钩子上提供的小提琴上工作,因为我写了一个sn-p 只对简单的字符串对象进行转义。你说对了?看看这个版本的小提琴,jsfiddle.net/fsh6s/1 并将其与您的进行比较。你会看到区别。
猜你喜欢
  • 2016-06-06
  • 1970-01-01
  • 2018-05-23
  • 2021-07-26
  • 2015-07-03
相关资源
最近更新 更多