Python3之json文件操作

Posted 唯安格

tags:

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

 

以上是关于Python3之json文件操作的主要内容,如果未能解决你的问题,请参考以下文章

python常用代码片段总结

学习笔记:python3,代码片段(2017)

python3之json模块使用

VSCode 如何操作用户自定义代码片段(快捷键)

python3.0怎么用json从文件解析

python3之序列化(pickle&json)