I can't convert a JSON format file into a python format file
我在做pythonapi练习,这是我完成的api地址:
http://api.juheapi.com/japi/toh?密钥=10245C2B75FA03D527204967EF7291CB&V=1.0&MONTH=07&DAY=05
如果使用浏览器打开,将显示正确的JSON文件,但我无法得到正确的文件。结果使用以下编解码器。
1 2 3 4
| page = urllib.urlopen(url)
html = page.read()
dic_json = json.loads(html)
print dic_json |
- 你犯了什么错误
- 抱歉,请删除地址]
- like this:{u'reason': u'u8bf7u6c42u6210u529fuff01', u'error_code': 0, u'result': [{u'des': u'u5728602u5e74u524du7684u4ecau5929uff0c1415u5e747u??67086u65e5 (u519cu5386u516du6708u521du4e00)uff0cu6377u514bu76??84u7231u56fdu4e3b??u4e49u8005u80e1u??53f8u9047u96beu30?;02’;
- 这有什么问题??这是python中的dict类型。我想你是说打印语句不是显示非英文字母,而是显示这个\u8bf7类型的值?
- @是的,我不明白
- 这是Unicode,当您在控制台中打印时,它将像非asic字符那样打印。
- 如果您使用的是python 3,就不会有这个问题…您可能会发现这篇文章很有用:实用的Unicode,它是由经验丰富的NedBatchelder编写的。
- 我试过了,好像没问题。无法理解这里的问题是什么
- @我认为你的意思是"非ASCII字符"。
- 是的@pm2ring,请原谅我的错别字
JSON中没有任何错误。它成功地将JSON解析为python dict。您应该看看python unicode。当您尝试在python 2中打印一个unicode时,您会发现这一点,但当在浏览器中打开时,它将是正确的非ASCII字符。
python2将非ASCII字符存储到类似的格式中。
要阅读这篇特别的口述,你可以这样做。
1 2
| for x,y in dic_json.items():
print x,":", y |
- 哦,好吧,那么,我怎样才能在控制台中打印Unicode呢?
- 例如,用print dic_json['reason']试试。