python的json模块

JSON (JavaScript Object Notation)是一种使用广泛的轻量数据格式. Python标准库中的json模块提供了JSON数据的处理功能。

python中字典格式和json类似,Python中的json库提供的主要功能, 也是两者之间的转换

1、将json串转为字典,使用loads方法

import json
json_str='''
{"name":"小黑","age":18,"sex":"男","age":18}
'''
res = json.loads(json_str) #把json串转为字典
print(type(res))
print(res)

2、将字典转为json串,使用dumps

import json
dic = {
    "xiaohei":{
        "age":18,
        "password":12345,
        "sex":"",
        "addr":"北京"
    },
    "小白":{
        "age":18,
        "password":12345,
        "sex":"",
        "addr":"北京"
    },
    "小王":{
        "age":18,
        "password":12345,
        "sex":"",
        "addr":"北京"
    },
}
res = json.dumps(dic)#将字典转为json
print(res)
#注意,这样讲所有的汉字转为ascii码,可使用下面的方法不转为ascii码,且好看
res1 = json.dumps(dic,ensure_ascii=False,indent=4)#其中ensure_ascii=False是不将中文转为ascii码,indent是缩进数  

3、将一个包含JSON格式数据的可读文件转为字典,使用load,load可以自己读文件

with open('text.json','r',encoding='utf-8') as fr:
    aa = json.loads(fr.read())
    fr.seek(0)
    bb = json.load(fr)# json.load(fr)和json.loads(fr.read()) 返回结果一样,load可以自己去读文件
    print(aa)
    print(bb)

#输出
{'name': '小黑', 'age': 18, 'sex': ''}
{'name': '小黑', 'age': 18, 'sex': ''}

4、将文件中的字典格式转换成json,使用dump

一个动作是将”obj“转换为JSON格式的字符串,还有一个动作是将字符串写入到文件中
import json

dic = {
    "xiaohei":{
        "age":18,
        "password":12345,
        "sex":"",
        "addr":"北京"
    },
    "小白":{
        "age":18,
        "password":12345,
        "sex":"",
        "addr":"北京"
    },
    "小王":{
        "age":18,
        "password":12345,
        "sex":"",
        "addr":"北京"
    },
}

fw = open('newuser.json','w',encoding='utf-8')#打开一个新的文件
aa = json.dump(dic,fw,indent=4,ensure_ascii=False)#将字典写到该文件中
print(aa)

 

posted @ 2018-12-03 17:44  blueteer  阅读(222)  评论(0编辑  收藏  举报