Python json用法--dumps与loads dump与load
dumps与loads
相同点
都是在内存中转换
不同点
-
dumps
把特定的对象序列化处理为字符串,即把dict或list转换为str
-
loads把字符串通过反序列化转换成list和dict
注意:如果外形不是list或者dict的形状,则不会转换成功的,这里必须要注意,字符串的外面的引号必须是“单引号”,内部必须是双引号,如果不是这样 ,json模块会报错的
dump与load
相同点
都是在文件中处理
不同点
-
dump
dump是把序列化后的字符串写到一个文件中
-
load
load是从一个一个文件中读取文件
代码示例
import json,pytest
#将dict或list转化成string
def test_dumps():
dict={'k1':'v1'}
dumps_sth=json.dumps(dict)
assert (type(dumps_sth)) == str
#将string转换成dict或list
def test_loads():
str='{"k1": "v1"}'
loads_sth=json.loads(str)
assert type(loads_sth) == dict
#往json文件写入内容
def test_dump():
file_path=r"E:\testdata\test.json.py"
sth={'age':18}
json.dump(sth,open(file_path,'w'))
json_object = json.load(open(file_path,'r'))
return json_object
assert type(file_path) == dict
#无法追加内容,会把之前的json文件内容覆盖
#读取json文件
def test_load():
file_path=r"E:\testdata\test.json.py"
with open(file_path,encoding='utf-8') as f:
json_object = json.load(f,encoding='utf-8')
return json_object
assert type(file_path) == dict