python的json模块

Posted blueteer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

 


以上是关于python的json模块的主要内容,如果未能解决你的问题,请参考以下文章

Python - 模块

Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段

python之模块和包

python中的模块

python python中的漂亮(或漂亮打印)JSON对象具有这一功能。在尝试了解什么时,我总是使用这个片段

Python 常用模块学习