JSON 对象被用于许多网络 API 中,使用这些数据来提取有意义的信息;我们需要将这些数据转换为一个字典。Python提供了一个内置的json包,有各种方法来序列化和反序列化JSON。
Python字符串到json
要在Python中把 字符串转换成json,可以使用**json.load()**函数。**json.load()**是一个内置的Python函数,它接受一个有效的json字符串并返回一个字典来访问所有元素。 json.load()函数用于将有效的 JSON 字符串 解析成字典。
为了使用 json.load() 方法,我们必须导入Python 提供的 json 包。将json数据转换为Python对象的过程被称为反序列化。
# app.py
import json
json_string = '''
{
"students": [
{
"name": "Millie Brown",
"active": true,
"rollno": 11
},
{
"name": "Sadie Sink",
"active": true,
"rollno": 10
}
]
}
'''
print(json_string)
print("The type of object is: ", type(json_string))
stud_obj = json.loads(json_string)
print(stud_obj)
print("The type of object is: ", type(stud_obj))
json_obj = json.dumps(stud_obj)
print(json_obj)
print("The type of object is: ", type(json_obj))
输出
{
"students": [
{
"name": "Millie Brown",
"active": true,
"rollno": 11
},
{
"name": "Sadie Sink",
"active": true,
"rollno": 10
}
]
}
The type of object is: <class 'str'>
{'students': [{'name': 'Millie Brown', 'active': True, 'rollno': 11},
{'name': 'Sadie Sink', 'active': True, 'rollno': 10}]}
The type of object is: <class 'dict'>
{"students": [{"name": "Millie Brown", "active": true, "rollno": 11},
{"name": "Sadie Sink", "active": true, "rollno": 10}]}
The type of object is: <class 'str'>
在这个例子中,我们首先使用**json.load()方法将json字符串转换为Python字典对象,然后使用json.dumps()**方法将字典转换为字符串。
从JSON到Python对象的数据转换
- 对象 =>dict
- 数组 =>列表
- string =>str
- 数字 (int) => int
- number (real) => float
- true => True
- false => False
- null =>None
json.load()和json.load()的区别
json.load**()和json.load()函数的主要** 区别是json.load()函数用于从文件中读取JSON文档,而**json.load()**函数用于将JSON字符串文档转换成Python字典。
json.load()函数可以自己反序列化一个文件。json.load()函数反序列化一个字符串。
结论
要在Python中把字符串转换成JSON数据,可以使用内置json包中的json.load()方法。