一、背景
在进行json字符串处理时,时常需要针对json字符或json文件转换成python对象或者互转,特整理于此
二、具体说明
json.loads()
,json.load()
,json.dump()
,json.dumps()
都是 Python 中用于处理 JSON 数据的方法。它们的区别如下:
json.loads()
:将 JSON 字符串转换为 Python 对象,即将 JSON 反序列化为 Python 数据类型。json.load()
:将 JSON 文件读取后反序列化为 Python 对象。json.dump()
:将 Python 对象序列化成 JSON 格式并写入指定的文件中。json.dumps()
:将 Python 对象序列化成 JSON 格式的字符串。
下面是一些代码示例:
json.loads()
import json
json_str = '{"name": "John", "age": 30, "city": "New York"}'
data = json.loads(json_str)
print(data) # {'name': 'John', 'age': 30, 'city': 'New York'}
print(type(data)) # <class 'dict'>
json.load()
import json
with open('data.json', 'r') as f:
data = json.load(f)
print(data)
print(type(data)) # <class 'dict'>
json.dump()
import json
data = {
"name": "John",
"age": 30,
"city": "New York"
}
with open('data.json', 'w') as f:
json.dump(data, f)
json.dumps()
import json
data = {
"name": "John",
"age": 30,
"city": "New York"
}
json_str = json.dumps(data)
print(json_str) # {"name": "John", "age": 30, "city": "New York"}
print(type(json_str)) # <class 'str'>
注意,json.dump()
和json.load()
在操作文件时需要以with open(...) as f:
的形式打开文件进行操作。