这是一个很简单的例子,自几天以来一直让我发疯。考虑以下脚本:

# -*- coding: utf-8 -*
from json import dumps as json_dumps

machaine = u"une personne émérite"
print(machaine)

output = {}
output[1] = machaine
jsonoutput = json_dumps(output)
print(jsonoutput)


cli的结果是:

une personne émérite
{"1": "une personne \u00e9m\u00e9rite"}


我不明白为什么它们在两个字符串之间有如此大的差异。
我一直在尝试各种编码,解码等,但是我似乎无法找到正确的方法来做到这一点。有人有想法吗?

提前致谢。
马修

最佳答案

编码正确。重新装入并打印,您将看到正确的输出:

>>> import json
>>> jsoninput = json.loads(jsonoutput)
>>> print jsoninput
{u'1': u'une personne \xe9m\xe9rite'}
>>> print jsoninput['1']
une personne émérite

关于python - 无法输出包含重音的json编码字典(内部noob),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2750156/

10-13 02:23