【python】将json串写入文件,并以json格式读取出来
写json--json.dumps
代码:
import json
#要写入文件的json串(dict格式)
result ={'errorTest': [('63', '租房修xxx', '400', 'https://appapi.xxxx.com/appapi/brainchoosehouse/v1/updaterent', ' 请求的数据有误,请检查[Request Data]字段是否是标准的json格式', '曹操')],
'run_data': {'stime': '2019-10-10 10:22:39', 'fail_case': 1, 'etime': '2019-10时00分00秒', 'all_case': 1341, 'jump_case': 176, 'run_case': 1165, 'pass_case': 1164}}
#以json格式写入文件
with open("result.txt", "w") as fp:
fp.write(json.dumps(result,indent=4))
效果:
这里看到json串中的中文变成了unicode串
为了把unicode串转成中文
可以这样写:
#ensure_ascii=False 表示不要以ascii码格式写入文件
with open('result.txt', 'w') as fp:
fp.write(json.dumps(result,indent=4,ensure_ascii=False))
效果:
读json-json.load
with open('result.txt','r') as load_f:
load_dict=json.load(load_f) print(type(load_dict),load_dict) #结果: <class 'dict'> {'errorTest': [['63', '租房xxxx选房卡', '400', 'https://appapi.xxxx.com/appapi/brainchoosehouse/v1/updaterent', ' 请求的数据有误,请检查[Request Data]字段是否是标准的json格式', '张三']], 'run_data': {'stime': '2019-10-10 10:22:39', 'fail_case': 1, 'etime': '2019-10时00分00秒', 'all_case': 1341, 'jump_case': 176, 'run_case': 1165, 'pass_case': 1164}}
参考文档: