【问题标题】:Python JSON Ensure Encoding [duplicate]Python JSON确保编码[重复]
【发布时间】:2015-03-30 11:31:26
【问题描述】:

我创建了一个带有特殊字符作为字符串的 JSON 文件。

我创建例如一个字典

dict[u"Züge"] = ...
json.dump(dict, file)

当我查看转储文件时,它看起来像这样:

{
  "Z\u00fcge": [
    {

有没有办法将编码写入文件,以便任何文本编辑器都会自动显示正确的字符?

然后我得到以下错误:

UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in 位置 2:序数不在范围内(128)

【问题讨论】:

  • 是的,但是没有提到如何克服错误:(

标签: python json python-2.7


【解决方案1】:

调用json.dump时指定ensure_ascii=False

json.dump(dict, file, ensure_ascii=False)

【讨论】:

    【解决方案2】:

    你需要在你的json.dump函数中使用ensure_ascii=False

    dict[u"Züge"] = ...
    json.dump(dict, file,ensure_ascii=False)
    

    Character Encodings in Json:

    根据 RFC 的允许(尽管不是必需的),此模块的序列化程序默认设置 ensure_ascii=True,从而对输出进行转义,以便生成的字符串仅包含 ASCII 字符。

    【讨论】:

      猜你喜欢
      • 2016-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多