我的格式错误的(?)JSON文件如下:
file.json:
{u'results': [{u'status': u'OK', u'time': 199, u'name': u'Macap\xe1'}]}
我尝试使用json.loads()
来读取此数据,但它不想接受unicode。
我尝试使用.decode('utf-8')
进行解码,但不会将\xe1
转换为重音a。
任何关于正确解析这个并在json中解析的魔法的帮助都会很棒。
谢谢!
P.S。我正在使用Python 2.7
答案 0 :(得分:4)
即使是JSON也不是格式错误,它是一个Python字典文字。解码它的好方法是使用ast.literal_eval
(因为这样可以确保它不会包含任何危险的内容):
import ast
txt = r"{u'results': [{u'status': u'OK', u'time': 199, u'name': u'Macap\xe1'}]}"
obj = ast.literal_eval(txt)