python中关于json.dump与json.dumps、josn.load与json.loads的区别浅析

时间:2022-01-19 06:44:25

首先json.dumps、json.dump、json.load以及json.loads都是json中的方法,使用前必须先导入json:

1、json.dump与son.dumps

json.dumps是将数据序列化为对象,转化过程中需要注意json默认使用ascii编码,需要设置ensure_ascii为False实例如下:

dict_data = {'hello':'world'}

json_data = json.dumps(dict_data,ensure_ascii=False)

而json.dump是紧跟对象写入文件,需要至少传入2个参数,注意 把字典转成json写入文件,写文件如果遇到编码ascii错误,可以指定编码格式为utf8,实例如下:

dict_data = {'hello':'world'}

f = open('data.json','w',encoding='utf8')

json.dump(dict_data,f,ensure_ascii=False)

2、json.load与json.loads

类似json.dump与json.dumps,:

json.loads是将数据序列化为字符串,实例如下:

dict_data = {'hello':'world'}

dict_data_str = json.loads(dict_data)

而json.load是紧跟写入文件后数据转化,并将数据从字符串反序列化为原格式,实例如下:

f = open('data.json','r',encoding='utf8')

dict_data = json.load(f)