【发布时间】:2016-05-09 15:52:03
【问题描述】:
我有一个包含一些 Unicode 字符串(以及其他对象)的字典。我想将此字典保存为 JSON 文件,然后通过 AJAX 显示其内容。
如果final_res 是字典,我通常会这样做:
json.dumps(final_res, ensure_ascii=True)
在结果中,我看到如下字符串:
"l\\u00a0m\\u00fcdale"
我想这些是 unicode 编码的字符。但是当我尝试在 Javascript 中显示它们时,它们会以斜线而不是编码的 unicode 字母打印。
为了正确显示这些,我在 Javascript 中做错了什么吗?或者我应该在输出到 JSON 之前在 Python 中将这些解码为 ASCII?
更新:
根据下面 cmets 中与 @spectra 的讨论,我意识到 json.dumps 不应该输出双斜杠。当我在浏览器中解析它时,它会将其打印为文字单斜杠。
我正在想办法用json 模块解决这个问题,但不知道为什么会这样。
【问题讨论】:
-
你用什么将结果发送到浏览器?
-
我看到字符串打印为
"l\\u00a0m\\u00fcdale" -
你为什么使用
ensure_ascii=True?你是如何在 Javascript 端解析 JSON 的?如果您只显示原始 JSON 字符串,您当然会在其中获得 Unicode 转义,但如果您实际解析并使用 JSON,则应该由解析器将转义处理为 Unicode。 -
@user1496984> 我明白了。我要问的是如何将字符串发送到浏览器。你在使用 Django 吗?烧瓶?一些自定义代码?
-
@user2357112 我使用
react-refetch解析它。我不是简单地转储 AJAX 调用的结果,而是打印出原始final_resdict 的相关项,如在final_refetch[0]['name']中,它仍然有反斜杠..
标签: javascript python json unicode