json格式的文件操作-->json.load 和 json.loads、json.dumps和json.dump [字典转换为字符串,字符串转换为字典]
1、字典转换为字符串,写入json文件(json.dumps)
1 #json.dumps 字典-->字符串 2 d={'name':'xiaohei','cars':[1,2,3,4],'houst':(4,5,6),'addr':"北京"} #字典 3 with open("a.txt", "w",encoding="utf-8") as f: 4 reslut = json.dumps(d,ensure_ascii=False,indent=4) #python数据格式转换,字典-->字符串 (如果元素里面有中文,请写ensure_ascii=False inden=4 json数据格式缩进4个字符) 5 f.write(reslut) #字符串写到f文件中 6 print(reslut) #{"name": "xiaohei", "cars": [1, 2, 3, 4], "houst": [4, 5, 6], "addr": "\u5317\u4eac"} {"name": "xiaohei", "cars": [1, 2, 3, 4], "houst": [4, 5, 6], "addr": "北京"}
import json jsongeshi={"name":"yajuan","age":"10"} with(open("b","w",encoding="utf-8"))as f: json_new=json.dumps(jsongeshi) #字典转换为字符串, 原因write写只支持字符串,不支持字典及list格式,故需把字典转化一个字符串 f.write(json_new)
2、字符串转换为字典,读文件取正文(json.loads)
with(open("b",encoding="utf-8"))as f: f1=f.read() #读f文件 f2=json.loads(f1) #字符串转换为字典 print(f2)
#json.loads 字符串-->字典 json_str='{"name": "xiaohei", "cars": [1, 2, 3, 4], "houst": [4, 5, 6], "addr": "北京"}' #字符串 reslut= json.loads(json_str) #字符串-->字典 print(reslut) #{'name': 'xiaohei', 'cars': [1, 2, 3, 4], 'houst': [4, 5, 6], 'addr': '北京'}
3、json.dump写文件时使用dump 字典-->字符,写入到json文件 (推荐使用)
1 d={'name':'xiaohei','cars':[1,2,3,4],'houst':(4,5,6),'addr':"北京"} #字典 2 with open("a.txt", "w",encoding="utf-8") as f: #打开文件 3 json.dump(d,f,indent=4) #字典-->字符串,写入到f文件中(此方法省略了 f.write(reslut) )
4、json.load 字符串-->字典 读json文件时使用load方法 (推荐使用)
1 with open("a.txt",encoding="utf-8") as f: 2 a=json.load(f) #字符串转换为字典展示(此方法省略了1、读文件f.read()) 3 b=a.get("name")
5、json.load 和 json.loads、json.dumps和json.dump 区别 注:json 就是一个字符串
https://www.cnblogs.com/lanston1/p/11024147.html
6、json文件数据格式、有中文时需做处理
如果元素里面有中文,请写ensure_ascii=False, inden=4 json数据格式缩进4个字符