Python读写JSON文件

refer:https://www.cnblogs.com/xiehong/p/9050301.html

pyton中与读写json文件相关的函数有四个:json.dumps(),json.loads(),json.dump(),json.load(),使用之前都需要导入json模块。我经常使用的方法是json.dumps()与json.loads()。

1.json.dumps()

该函数将Python对象编码为JSON对象,可直接写入JSON文件中。

impotr json  
dic = {"xm":{"name":"xiaoming","age":20},"xh":{"name":"xiaohong","age":19}}  
# 字典转换为JSON,加上ensure_ascii=False可以识别中文,indent=4表示显示时间隔四个空格  
print(json.dumps(dic,ensure_ascii=False,indent=4))  
# 结果如下所示  
{  
    "xm": {  
        "name": "xiaoming",  
        "age": 20  
    },  
    "xh": {  
        "name": "xiaohong",  
        "age": 19  
    }  
}  
#若想写为json文件,则直接写入json.dumps()的结果即可  
with open('./data.json','w',encoding='utf-8') as fw:  
    fw.write(json.dumps(dic,ensure_ascii=False,indent=4))  

2.json.loads()

使用json.loads()可以将json字符串变为python的对象。

import json  
# dic为写入文件中的json字符串对应的字典  
dic = {"xm":{"name":"xiaoming","age":20},"xh":{"name":"xiaohong","age":19}}  
with open('./data.json','r',encoding='utf-8') as fr:  
    jdic = json.loads(fr.read())  
    print(jdic)  
# 打印的结果与dic内容一致  

3.json.dump()

json.dump()将对象编码成JSON字符串,并写入文件中,需要传入文件对象。

import json  
dic = {"xm":{"name":"xiaoming","age":20},"xh":{"name":"xiaohong","age":19}}  
with open('./data1.json','w',encoding='utf-8') as fw:  
    json.dump(dic,fw,ensure_ascii=False,indent=4)  

4.json.load()

json.load()把JSON串变为Python的字典对象,需要传入文件对象。

import json  
with open('./data1.json','r',encoding='utf-8') as fr:  
    print(json.load(fr))  

评论

还没有登陆?评论请先登陆注册

还没有评论,抢个沙发吧!

 联系方式 contact me

Github
Email
QQ
Weibo