JSON 文件的序列化与反序列化

json.dump()用于将dict类型的数据转成str,并写入到json文件中。 json.load()用于从json文件中读取数据,类型为str。

'''文件的序列化与反序列化'''
url = 'https://way.jd.com/jisuapi/weather'
params = {
    'city' : '安顺',
    'cityid' : '111',
    'citycode' : '101260301',
    'appkey' : '8c60eac7cface16fc71d865bbef56172'
}


r = requests.get(url,params)
'''
1.文件反序化后,类型是unicode
2.进行编码,把unicode类型转为str类型
3.然后使用反序列化,把str转为字典类型
'''
# json.dump()用于将dict类型的数据转成str,并写入到json文件中。
json.dump(r.content.decode('utf-8'),open('weather.json','w'))
#print(dict1,type(dict1))

# json.load()用于从json文件中读取数据,类型为str。
str_dict = json.loads(json.load(open('weather.json','r')))
print(str_dict,type(str_dict))