反序列化
Json数据结构与对应的Python数据结构对比
| Json数据结构 | python数据结构 |
|---|---|
| object | dict |
| array | list |
| string | str |
| number | int |
| number | float |
| true | True |
| false | False |
| null | None |
实际操作
import json #需要引入jsonjson_str='{"name":"Andrew", "age":24}' #注意 json字符串key和value(字符/字符串)都要使用双引号,所以外面的python的语法要用单引号student= json.loads(json_str) #通过json自己的方法解析json到一个变量中print(type(student)) #dict格式print(student) #{'name': 'Andrew', 'age': 24}print('name:'+student['name'])print('age:'+str(student['age']))json_str_array='[{"name":"Andrew", "age":24},{"name":"Anna", "age":22}]' #注意此处json里面是数组需要加[]students = json.loads(json_str_array)print(type(students)) #list数据结构print(students) #[{'name': 'Andrew', 'age': 24}, {'name': 'Anna', 'age': 22}]print(students[1]['name']) #Anna
序列化
将python数据类型转化为json
classA=[{"name":"Andrew","age":14},{"name":"Anna","age":11}]json_str = json.dumps(classA); # 返回的json_str为字符串格式print('序列化classA:'+json_str) # 序列化classA:[{"name": "Andrew", "age": 14}, {"name": "Anna", "age": 11}]
