Python JSON编码问题

时间:2015-04-23 12:51:41

标签: python json encoding

我需要解析下载的JSON文件

url文件

我得到unicode:

{u'type': u'string', u'name': u'Podla\u017e\xed', u'value': u'2. podla\u017e\xed'}

我需要转换:

\ u017e ž

\ xed í

依旧......

我怎么做?

2 个答案:

答案 0 :(得分:0)

使用unicode时,必须确保在程序中使用它之前正确解码输入,并在将其序列化为字节时将其编码回UTF-8。您似乎已经处理了前者,因此您可以按原样使用字典。

当你想再次将dict保存为json时,你必须指定正确的编码并将其序列化为UTF-8

import json
from io import open

with open('some_file.json', 'w', encoding='utf-8') as f:
    f.write(json.dumps(some_dict, ensure_ascii=False))

答案 1 :(得分:0)

您可以尝试使用代码打开。 参考:https://docs.python.org/2/library/codecs.html

示例代码。

import codecs
fileObj = codecs.open( "someFile", "r", "utf-8" )
u = fileObj.read()