一、类型转换----反序列化:把json的数据类型向python转化的过程
1、json为字典类型时
json类型 | python类型 |
objet | dict |
array | list |
string | str |
number | int |
number | float |
false | False |
true | True |
null | None |
import json
json_str = '{"name":"fanfan","age":18,"flag":false}'
#反序列化
student = json.loads(json_str)
print(type(student))
#<class 'dict'>
print(student)
#输出形式为字典{'age': 18, 'name': 'fanfan', 'flag': False}注意其中布尔值false变成首字母写
print(student['name'])#fanfan
print(student['age'])#18
输出:
>>><class 'dict'>
>>>{'age': 18, 'name': 'fanfan', 'flag': False}
>>>fanfan
>>>18
输出形式为字典{‘age’: 18, ‘name’: ‘fanfan’, ‘flag’: False}
注意其中布尔值false–>False
2、json为列表类型时
import json
#JSON object array
json_str2 = '[{"name":"fanfan","age":18}, {"name":"fanfan","age":18}]'
#反序列化:把json的数据类型向python转化的过程
student2=json.loads(json_str2)
print(type(student2))#输出形式为列表<class 'list'>
print(student2)#类表中包含字典[{'age': 18, 'name': 'fanfan'}, {'age': 18, 'name': 'fanfan'}]
输出:
>>><class 'list'>
>>>>[{'age': 18, 'name': 'fanfan'}, {'age': 18, 'name': 'fanfan'}]
输出形式为列表
类表中包含字典
二、序列化:把python的数据类型向json转化的过程
import json
#序列化的意义:
student3=[
{'age': 18, 'name': 'fanfan', 'flag': False},
{'age': 18, 'name': 'fanfan'}
]
json_str3=json.dumps(student3)
print(type(json_str3))#<class 'str'>
print(json_str3)#[{"age": 18, "name": "fanfan", "flag": false}, {"age": 18, "name": "fanfan"}]
输出:
>>><class 'str'>
>>>>[{"age": 18, "name": "fanfan", "flag": false}, {"age": 18, "name": "fanfan"}]
输出形式为列表
列表中包含字典
三、JSON对象 JSON JSON字符串
JSON对象:python中没有