我已多次阅读Unicode HOWTO,并多次解决类似的问题,仍然不了解如何。任何人都可以帮助我如何正确打印这个加载的json?
#!/usr/bin/env python2
# coding: utf8
import json
s = u'["poêle", "mangé"]'
print s
l = json.loads(s)
print l
我已尝试过enconding / encode / decode / unicode的每一种组合,但我可以......但是第二次打印是丑陋的:
$ python test.py
["poêle", "mangé"]
[u'po\xeale', u'mang\xe9']
感谢您的帮助
答案 0 :(得分:1)
要打印您的列表,请尝试从this so question
中获取以下内容
print repr(l).decode('unicode-escape')
此外,当您打印列表时,它会打印元素的
repr
。
print l[0], l[1]
与print l
不同,因此您可以始终迭代元素并打印它们。 print l[0], l[1]
也会正确打印字符。
这可以帮助您理解差异
class MyClass(object):
def __repr__(self):
return "<repr: MyClass>"
def __str__(self):
return "<str: MyClass>"
l = [ MyClass(), MyClass(), MyClass() ]
print l
print l[0], l[1], l[2]
输出
[<repr: MyClass>, <repr: MyClass>, <repr: MyClass>]
<str: MyClass> <str: MyClass> <str: MyClass>