Python3之json文件操作

json函数

使用json函数之前,首先需要导入json模块,import json

1)、json.dumps()函数

该函数是将 Python 对象编码成 JSON 字符串,例如:

 1 import json                                                                                         
 2 d={'谦谦':{'sex':'','addr':'北京','age':34},'千千':{ 'sex':'','addr':'北京', 'age':34},}                  
 3 print(json.dumps(d,ensure_ascii=False,indent=4))  #字典转成json,字典转换成字符串 加上ensure_ascii=False以后,可以识别中文, indent=4是间隔4个空格显示
 4 
 5 #以上代码转换的结果是:
 6 {
 7     "谦谦": {
 8         "sex": "",
 9         "addr": "北京",
10         "age": 34
11     },
12     "千千": {
13         "sex": "",
14         "addr": "北京",
15         "age": 34
16     }
17 }

2)、json.dump()函数

该函数是可以将 Python 对象编码成 JSON 字符串,并自己帮你写入到文件中,不需要再单独写文件,例如:

1 import json                                                                         
2 d={'谦谦':{'sex':'','addr':'北京','age':34},'千千':{ 'sex':'','addr':'北京', 'age':34},}  
3 fw =open('user_info.json','w',encoding='utf-8')   #打开一个名字为‘user_info.json’的空文件
4 json.dump(d,fw,ensure_ascii=False,indent=4)#字典转成json,字典转换成字符串,不需要写文件,自己帮你将转成的json字符串写入到‘user_info.json’的文件中 

3)、json.loads()函数

文件product.json的原文件内容如下:

{
    "iphone":{
        "color":"red",
        "num":1,
        "price":98.5
    },
    "wather":{
        "num":100,
        "price":1,
        "color":"white"
    }
}

使用json.loads()函数把json串变成python的数据类型:如下:

1 import json  
2 f =open('product.json',encoding='utf-8') #打开‘product.json’的json文件
3 res=f.read()  #读文件
4 print(json.loads(res))#把json串变成python的数据类型:字典      
5 
6 #以上转换的结果是:
7 {'iphone': {'color': 'red', 'num': 1, 'price': 98.5}, 'wather': {'num': 100, 'price': 1, 'color': 'white'}} 

4)、json.load()函数

该函数把json串变成python的数据类型:字典,传一个文件对象,它会帮你读文件,不需要再单独读文件,例如:

import json   
f =open('product.json',encoding='utf-8')    #打开文件 
print(json.load(f))#把json串变成python的数据类型:字典,传一个文件对象,它会帮你读文件,不需要再单独读文件 

#以上转换执行的结果是:
{'iphone': {'color': 'red', 'num': 1, 'price': 98.5}, 'wather': {'num': 100, 'price': 1, 'color': 'white'}}

 

posted @ 2018-05-17 11:57  唯安格  阅读(29177)  评论(0编辑  收藏  举报