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个字符

 

posted @ 2019-09-25 09:45  遇见最好的你_juan  阅读(470)  评论(0编辑  收藏  举报