【发布时间】:2016-08-21 17:09:35
【问题描述】:
我正在尝试加载一个 json 文件,然后尝试稍后对其进行解析。 但是,在输出中我不断得到“u”字符。 我尝试使用 encoding='utf-8' 打开文件,这可以解决问题。 我正在使用python 2.7。是否有一种直接的方法或解决方法可以忽略输出中的“u”字符。
import json
import io
with io.open('/tmp/install-report.json', encoding='utf-8') as json_data:
d = json.load(json_data)
print d
o/p
{u'install': {u'Status': u'In Progress...', u'StartedAt': 1471772544,}}
ps:我通过这篇文章Suppress the u'prefix indicating unicode' in python strings 但这没有适用于 python 2.7 的解决方案
【问题讨论】:
-
简而言之:no.
-
为什么会出现问题?
-
Unicode 与问题无关。这是一个充满字符串的字典的 Python (
repr()) 表示。如果您想要其他格式的表示,例如 JSON,请使用该格式的编码器。 -
@PadraicCunningham 这是一个问题,因为这需要显示给可能对这些“字符”不满意的最终用户
-
@cool77 但是您已经假设最终用户对 python
repr输出感到满意?首先,你期望什么样的输出?时间戳看起来对最终用户也不友好。