如何使用Python中的json模块将JSON字符串转换为Python对象?
发布时间:2023-06-12 11:27:53
JSON是一种轻量级的数据交换格式,它和Python中的字典类型非常相似,因此Python提供了一个内建的json模块来实现JSON字符串和Python对象之间的转换。
在Python中,使用json模块将JSON字符串转换为Python对象非常简单。json模块提供了两种方法:json.loads()和json.load()。
json.loads()方法用于将一个JSON字符串转换为Python对象。它的语法如下:
import json python_obj = json.loads(json_str)
其中,json_str为JSON格式的字符串。
示例代码:
import json
# JSON字符串
json_str = '{"name": "Bob", "age": 25, "city": "New York"}'
# 将JSON字符串转换为Python对象
python_obj = json.loads(json_str)
# 输出Python对象
print(type(python_obj))
print(python_obj)
上述代码输出结果为:
<class 'dict'>
{'name': 'Bob', 'age': 25, 'city': 'New York'}
可以看到,json.loads()方法将JSON字符串转换为一个Python字典类型。
json.load()方法用于将一个JSON文件读取并转换为Python对象。它的语法如下:
import json
with open('json_file.json', 'r') as f:
python_obj = json.load(f)
其中,json_file.json为JSON格式的文件。
示例代码:
假设存在一个JSON格式的文件data.json,其内容如下:
{
"name": "Bob",
"age": 25,
"city": "New York"
}
现在我们可以使用json.load()方法将该文件转换为Python对象:
import json
with open('data.json', 'r') as f:
python_obj = json.load(f)
# 输出Python对象
print(type(python_obj))
print(python_obj)
上述代码输出结果为:
<class 'dict'>
{'name': 'Bob', 'age': 25, 'city': 'New York'}
可以看到,json.load()方法也将JSON字符串转换为一个Python字典类型。
总结一下,json模块提供了json.loads()和json.load()两个方法,可以将JSON字符串和JSON文件分别转换为Python对象。使用这两个方法,我们可以非常方便地处理JSON数据。
