一文带你读懂JSON模块

Python (203) 2023-07-20 15:07:01

json模块

JSON (JavaScript Object Notation):是一个轻量级的数据交换格式模块,受javascript对象文本语法启发,但不属于JavaScript的子集。

常用方法:

dump(obj,fp):将对象以字符串的形式写入文件中。

load(fp):将数据从文件中读出,并返回(需要变量接收)数据的原类型。

dumps(obj):将对象转换成json字符串形式。

loads(str):将json字符串数据转换成原来的数据类型。

相关推荐:《Python视频教程》

实例如下:dumps(obj) | loads(str)

importjson
dict_1={"电影":"黄飞鸿","电视剧":"霍元甲"}
json_str=json.dumps(dict_1)#将字典转换成json的字符串类型
dict_2=json.loads(json_str)#将json的字符串类型转换成原数据
print(json_str,type(json_str))
print(dict_2.items(),type(dict_2))

打印内容如下

{"\u7535\u5f71":"\u9ec4\u98de\u9e3f","\u7535\u89c6\u5267":"\u970d\u5143\u7532"}<class'str'>
dict_items([('电影','黄飞鸿'),('电视剧','霍元甲')])<class'dict'>

实例如下:dump(obj,fp) | load(fp)

importjson
#向文件中写入json数据
dict_1={"电影":"黄飞鸿","电视剧":"霍元甲"}
file_write=open("json.txt",mode="w",encoding="utf-8")
json.dump(dict_1,file_write)#将字典以json的字符串类型写入文件
file_write.close()

从文件中读取json数据

file_read=open("json.txt",mode="r",encoding="utf-8")
dict_2=json.load(file_read)#将文件中内容转换成原数据类型并返回
file_read.close()
print(dict_2.items(),type(dict_2))#打印转换后的数据

打印内容如下

dict_items([('电影','黄飞鸿'),('电视剧','霍元甲')])<class'dict'>

这里需要注意的是json模块dump(obj,fp)虽然可以多次上传,但是在load时会报错,load(fp)函数不能转换多次dump的数据。所以如果想要向json文件中新增数据时,需要将数据load下来转换成原数据,然后在原数据基础上进行新增。最后将处理后的数据dump覆盖写到文件中。

THE END

发表回复