json模块
字典只是Python认识的数据类型
json是所有的语言都认识的数据类型
json是一个字符串
dict和json的转换,用json模块的方法
1.将dict转换成json
ensure_ascii=False 正常显示中文
# 1.Python数据类型转成json类型 --字典转json
d = {"code": 0, "msg": "操作成功", "token": "1234"}
pprint.pprint(d)
# {'code': 0, 'msg': '操作成功', 'token': '1234'}
json_str = json.dumps(d, ensure_ascii=False)
pprint.pprint(json_str)
# '{"code": 0, "msg": "操作成功", "token": "1234"}'
2.将json转成dict
d_str = '{"code": 0, "msg": "操作成功", "token": "1234"}'
d_dict = json.loads(d_str)
pprint.pprint(d_dict)
pprint.pprint(d_str)
3.读取json文件
d = {"code": 0, "msg": "操作成功",
"token": "xxxxx", "addr": "xxxx", "sdgsdg": "xxx",
"sdfsdf": "sdgsdg", "s11": "111"}
with open('json1.json', 'w+', encoding='utf-8') as f:
json_str = json.dumps(d, ensure_ascii=False, indent=4)
f.write(json_str)
# 直接读取json文件的内容==json.load
with open('json1.json', encoding="utf-8") as f:
result = json.load(f)
print(result)
# 直接将字典写入json文件中==json.dump
with open('json2.json', 'w+', encoding='utf-8') as f1:
json.dump(d, f1, ensure_ascii=False, indent=4)