json就是一串字符串(json只有双引号;字典是单引号)
1.字典转成json
1 import json 2 # json模块作用:python的数据类型和json相互转换的 3 d = {‘key1‘: ‘v1‘, ‘key2‘: ‘v2‘, ‘key3‘: ‘ v3‘, ‘name‘: ‘小明‘} 4 5 # 字典转成字符串(json) 6 json_str = json.dumps(d, indent=4, ensure_ascii=False) #indent缩进字符,为了看着直观;ensure_ascii显示中文 7 print(json_str) 8 9 # 将字典转成json写入文件--dumps和dump 10 # dumps:先用dumps转成json,再写入文件 11 json_str = json.dumps(d, indent=4, ensure_ascii=False) 12 with open(‘u1.json‘, ‘w‘, encoding=‘utf-8‘) as f: 13 f.write(json_str) 14 15 # dump:直接用dump转成json写入文件 16 with open(‘u1.json‘, ‘w‘, encoding=‘utf-8‘) as f: 17 json.dump(d, f, indent=4, ensure_ascii=False)
2.json转成字典
1 import json 2 3 json_str = """ 4 { 5 "key1": "v1", 6 "key2": "v2", 7 "key3": " v3", 8 "name": "小明" 9 } 10 """ 11 12 # 字符串(json)转成字典 13 dic = json.loads(json_str) 14 print(dic) 15 16 # 读文件里的json再转成字典--loads和load 17 # loads:先读文件,再用loads传字符串,转字典 18 with open(‘u2.txt‘, encoding=‘utf-8‘) as f: 19 content = f.read() 20 print(json.loads(content)) 21 22 # load:直接用load传文件(自动做了一次读文件),转成字典 23 with open(‘u2.txt‘, encoding=‘utf-8‘) as f: 24 result = json.load(f) 25 print(result)
json转成字典报错
1 # 若json格式不合法,报错 2 json_str = """ 3 { 4 ‘key1‘: "v1", 5 "key2": "v2", 6 "key3": " v3", 7 "name": "小明" 8 } 9 """ 10 dic = json.loads(json_str) 11 print(dic) 12 # 查看json格式是否正确,网站校验:bejson.com
报错如下图:
校验json格式
原文:https://www.cnblogs.com/zhangxiaowai/p/12845736.html