【问题标题】:Python Saving JSON Files as UTF-8Python 将 JSON 文件保存为 UTF-8
【发布时间】:2013-04-23 20:52:14
【问题描述】:

我正在尝试将一些 UTF-8 字符输出到 JSON 文件。

当我保存文件时,它们是这样写的:

{"some_key": "Enviar invitaci\u00f3n privada"}

以上内容有效且有效。当我加载文件并打印“some_key”时,它会在终端中显示“Enviar invitación privada”。

有没有像这样写带有“some_key”作为编码版本的JSON文件?

{"some_key": "Enviar invitación privada"}

【问题讨论】:

  • 完整答案(包括python 2版本)可以在here找到。

标签: python json utf-8 utf8-decode


【解决方案1】:

在此处使用 Python 3.4.3 并使用 dump() 而不是 dumps()

    with open("example.json","w", encoding='utf-8') as jsonfile:
        json.dump(data,jsonfile,ensure_ascii=False)

是将 JSON 写入 UTF-8 编码文件的标准方式。

如果您想要转义代码点而不是文件中的字符,请设置ensure_ascii=True。 例如,这会将欧元字符 作为 \u20ac 直接写入您的文件。

【讨论】:

    【解决方案2】:

    ensure_ascii 设置为False

    >>> print json.dumps(x, ensure_ascii=False)
    {"some_key": "Enviar invitación privada"}
    

    【讨论】:

    • 我仍然得到如下字符:à 而不是 à è 而不是 è 有什么建议吗?
    • 这不会将数据保存到文件中!
    猜你喜欢
    • 2014-02-11
    • 1970-01-01
    • 2011-01-21
    • 2012-04-11
    • 1970-01-01
    • 2020-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多