码迷,mamicode.com
首页 > 编程语言 > 详细

python的json模块

时间:2018-12-03 19:46:54      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:自己   字符串   port   enc   use   转换   ensure   with   python   

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模块

标签:自己   字符串   port   enc   use   转换   ensure   with   python   

原文地址:https://www.cnblogs.com/blueteer/p/10059843.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!