我有几个需要在python脚本中处理的json文件,尽管它似乎不是有效的json格式:
{
'data': [
{
'ad_id': u'6038487',
'adset_id': u'6038483800',
'campaign_id': u'603763200',
'created_time': u'2015-12-17T15:26:04+0000',
'field_data': [
{u'values': [u'Fahrrad'], u'name': u'what is your vehicle?'},
{u'values': [u'Coco'], u'name': u'first_name'},
{u'values': [u'Homer'], u'name': u'last_name'},
{u'values': [u'aaa@hotmail.de'], u'name': u'email'},
{u'values': [u'+490999999'], u'name': u'phone_number'}
], 'id': u'5655545710'
},
{
'ad_id': u'39392400',
'adset_id': u'39366200',
'campaign_id': u'39363200',
'created_time': u'2014-12-16T13:01:52+0000',
'field_data': [
{u'values': [u'Frankfurt'], u'name': u'in_welcher_stadt_m\xf6chtest_du_arbeiten?'},
{u'values': [u'Auto'], u'name': u'what is your vehicle?'},
{u'values': [u'Homer'], u'name': u'first_name'},
{u'values': [u'abc'], u'name': u'last_name'},
{u'values': [u'XYZ@gmail.com'], u'name': u'email'},
{u'values': [u'0555555555'], u'name': u'phone_number'}
],
'id': u'149809770'
}
]
}
u
)\xf6
ö
醇>
理想情况下,应该可以使用片段阅读json:
import json
import pprint
with open('leads.json') as data_file:
data = json.load(data_file)
pprint(data)
如何将输入json转换为utf-8格式的有效json?
答案 0 :(得分:2)
正如我所说,那不是JSON,它是Python对象的打印表示(碰巧看起来类似于JSON)。要安全地导入它,您可以使用ast.literal_eval
:
from pprint import pprint
import ast
with open('leads.json') as data_file:
data = ast.literal_eval(data_file.read())
pprint(data)