当前位置: 首页 > 知识库问答 >
问题:

带重音的Python转储json[重复]

公良信然
2023-03-14
import json

weird_dict ={"person": "ç", "á": 'à', "ç": 'ã'}
print json.dumps(weird_dict, indent=4, sort_keys=True)

output:

{
    "person": "\u00e7", 
    "\u00e1": "\u00e0", 
    "\u00e7": "\u00e3"
}
weird_dict={"person": "ç", "á": 'à', "ç": 'ã'}
print json.dumps(weird_dict, indent=4, sort_keys=True, ensure_ascii=False)
output:
{
    "person": "ç", 
    "á": "à", 
    "ç": "ã"
}

如何使用JSON解决特殊字符问题?当我使用pystache并试图打印pystache.render('hi{{person}}!‘,weird_dict)时,我需要呈现:

"'ascii' codec can't decode byte 0xc3 in position 4770: ordinal not in range(128)"

共有1个答案

邢法
2023-03-14

指定ensure_ascii=false参数:

>>> import json
>>>
>>> d = {"person": "ç", "á": 'à', "ç": 'ã'}
>>> print json.dumps(d, indent=4, sort_keys=True, ensure_ascii=False)
{
    "person": "ç",
    "á": "à",
    "ç": "ã"
}

根据JSON模块文档:

如果ensure_ascii为True(默认值),输出中的所有非ASCII字符都用\uxxxx序列转义,结果是只包含ASCII字符的str实例。如果ensure_ascii为False,则写入fp的某些块可能是unicode实例。这通常是因为输入包含unicode字符串或使用了encoding参数。除非fp.write()显式地理解unicode(如codecs.getWriter()),否则很可能导致错误。

 类似资料:
  • 将包含unicode字符的字符串转储为json会产生奇怪的unicode转义序列: 我想得到这个输出: 如何将unicode字符转储为字符而不是转义序列?

  • 我在数据库里有一些文本。我用法语和英语。法语有口音,还有一些特殊的字符,如。我使用Mamp、MySQL和PHP。 我有latin1_swedish-ci排序规则(默认)。我尝试了,结果是一样的。如果我在html页面中使用,我会在标题中使用:

  • 我有一个python 3脚本,它应该从.csv文件中获取一些数据并将其写入json文件。在我的处理过程中,编码是正确的,因此德语元音变音符ü,ä或度符号°就像它们一样(#编码=标题处的cp1252)。 但是当我通过json.dump()写判决时,编码就消失了… 如何使用正确的编码向json文件写入判决?

  • 我正在搜索一种转换服务器发送的字符串(JSON)的技术,该字符串包含以下内容:<code>…“Test\u00e9\u00e9\u002e9”…</code>在类似“Testé”的内容中,我找到了一个解决方案:<code>boost::replace_all(listFolder,\\u00e,é) ,我将这个boost函数与其他字母àùê等一起使用……这太痛苦了! 我想知道是否有函数自动执行这种

  • 我在这里犯了什么愚蠢的错误,阻止我确定用户输入的第一个字母是辅音?无论我输入什么,它都允许第一个字母是元音。

  • 我有下面的文件,它是json转储的结果。 我想这个文件是乱七八糟的。它的格式不对。我研究了如何在json中转储 openstack资源列表-f json的输出格式如下 现在我的问题 json转储文件在我看来并不像json。如何使其格式正确 如果有人能解释我的json文件,这将是有帮助的。或者如果没有请指导我到可以帮助我理解嵌套字典的链接 编辑:获取我在下面做的值,并给我 值错误:解压缩的值太多

  • 我有一个来自 视图的 数据 - {"7": {"1": 0, "2": 0, "3": 0, "4": 0, "5": 0, "6": 0, "7": 0, "8": 0, "9": 0, "10": 0, "11": 1, "12": 0}} 我需要在中从数据中创建一个数组,例如- 我还需要密钥“7”。没有,但 到目前为止,我试过了- 最好的方法是什么?

  • 我有文本数据,格式如下所示。如何使用python将其转换为JSON?