json.dumps()、json.loads()区别详解

110 阅读1分钟
函数输入/源输出/目标功能描述
json.dumps()Pathon对象(如dict,list)json格式的字符串序列化:将Python对象转化成字符串
json.loads()JSON格式的字符串Python对象(如dict,list)反序列化:将字符串解析成Python对象
json.dump()Python对象(如dict.list)文件对象(已打开的文件)序列化并写入:将Python对象转化并写入文件
json.load()文件对象(一打开的文件)Python对象(如dict,list)读取并反序列化:从文件读取并解析成Python对象

"json.dumps()"的使用示例

作用:将Python对象(如字典、列表)转换(序列化) 成一个JSON格式的字符串
使用场景:当你需要将数据转换成字符串,比如通过网络传输(API请求)、或者只是想在内存中处理,而不是直接存文件。

import json
data = { "name": "张三", "age": 30, "city": "北京", "hobbies": ["读书", "游泳"] }
json_string = json.dump(data,ensure_ascii = False)
print(json_string)
print(type(json_string))

# 输出: 
# {"name": "张三", "age": 30, "city": "北京", "hobbies": ["读书", "游泳"]} 
# <class 'str'> # 确实是一个字符串类型

"json.loads()"的使用实例

作用:将一个JSON格式的字符串 解析(反序列化) 成一个Python对象(如字典、列表)。
使用场景:当你接收到一个JSON字符串(比如从网络API的响应),需要把它变成Python数据结构来操作。

import json 
# 这是一个JSON格式的字符串 
json_str = '{"name": "李四", "age": 25, "is_student": false}' 
# 使用 json.loads() 将字符串解析为Python字典 
python_dict = json.loads(json_str) 
print(python_dict) 
print(type(python_dict)) 
print(python_dict["name"]) 
# 现在可以像字典一样访问了 

# 输出: 
# {'name': '李四', 'age': 25, 'is_student': False} # 注意False变成了Python的False 
# <class 'dict'> # 李四