Python json库中loadloadsdumpdumps的区别与用法

Posted jszfy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python json库中loadloadsdumpdumps的区别与用法相关的知识,希望对你有一定的参考价值。

1 json.loads()

json格式的数据转化为字典类型

data_json = ‘"msg": "登录成功", "code": "10001", "data": null, "status":1‘
data_dict = json.loads(data_json, encoding="utf-8")

  技术图片

这个时候,如果使用 eval(data_json) 将会报错。

NameError: name ‘null‘ is not defined

2 json.load()

 从文件中读取json类型的数据,并转化为字典类型

data_json = ‘"msg": "登录成功", "code": "10001", "data": null, "status":1‘
with open("json_file.txt", mode="r", encoding="utf-8") as file:
    date_dict = json.load(file)

  技术图片

3 json.dumps()

将Python中特定类型进行字符串化操作,即转换为json格式的数据

注意:字典、列表等都可以进行字符串话操作,变为json格式

one_dict = "name": "菲菲", "age": 18, "money": None
one_str = str(one_dict)
one_json = json.dumps(one_dict)
two_json = json.dumps(one_dict, ensure_ascii=False)

  技术图片

one_tuple = ["菲菲", 18, None]
one_str = str(one_tuple)
one_json = json.dumps(one_tuple)
two_json = json.dumps(one_tuple, ensure_ascii=False)

  技术图片

4 json.dump()

将字典类型转化为json字符串格式,写入到文件中

one_dict = "name": "字典型", "age": 18, "money": None
with open("json_file.txt", mode="a",encoding="utf-8") as file:
    json.dump(one_dict, file, ensure_ascii=False)
one_tuple = ["菲菲", 18, None]
with open("json_file.txt", mode="a", encoding="utf-8") as file:
    json.dump(one_tuple, file, ensure_ascii=False)

 

总结:

loads  将json格式的数据转化为dict

dumps  将字典、列表t等类型的数据转化成json格式

load  读取json格式文件,并返回dict

dump  将字典、列表等格式的数据转化为json格式,写入文件

 

试了一下,

load,loads好像是只能转化成为dict。(反序列化,流——对象)

dump,dumps可以将列表,字典数据转化为json格式。(序列化,对象——可保存或可传输格式)

单词后面有s,都是对文件操作。

技术图片

 

以上是关于Python json库中loadloadsdumpdumps的区别与用法的主要内容,如果未能解决你的问题,请参考以下文章

python requests库中的post详解

json 和 simplejson Python 模块有啥区别?

python的json模块

python之json用法

python 对象和json互相转换

将 JSON 数据导入 Python [重复]