反序列化
Json数据结构与对应的Python数据结构对比
Json数据结构 | python数据结构 |
---|---|
object | dict |
array | list |
string | str |
number | int |
number | float |
true | True |
false | False |
null | None |
实际操作
import json #需要引入json
json_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}]