1、什么是JSON
JSON,是JavaScript Object Notation的简写,即JavaScript对象标记。
JSON的本质,是一种轻量级的数据交换格式。
字符串是JSON的表现形式。
JSON的优点:易于阅读,易于解析,网络传输效率高。特别适合作为跨语言交换数据。
2、反序列化&序列化
反序列化:将json字符串转换成python的数据类型。
序列化:将python的数据类型转换成json字符串类型。
import json # json的表现形式是字符串 json_str = '{"name":"qiyue", "age":18}' json_str1 = '[{"name":"qq", "age":22}, {"name":"weiwei", "age":8}]' # 反序列化:对json字符串进行解析 student = json.loads(json_str) student1 = json.loads(json_str1) print(type(student)) print(student) print(student['name']) print(student['age']) print(type(student1)) print(student1) print(student1[0]) print(type(student1[0]))
输出结果:
<class 'dict'>
{'name': 'qiyue', 'age': 18}
qiyue
18
<class 'list'>
[{'name': 'qq', 'age': 22}, {'name': 'weiwei', 'age': 8}]
{'name': 'qq', 'age': 22}
<class 'dict'>import json student = [ {'name': 'qq', 'age': 20, 'flag': False}, {'name': 'weiwei', 'age': 9} ] # 序列化:将python的数据类型转换为json字符串 json_str = json.dumps(student) print(json_str) print(type(json_str))
输出结果:
[{"name": "qq", "age": 20, "flag": false}, {"name": "weiwei", "age": 9}]
<class 'str'>
3、json/python类型转换
json | python |
object | dict |
array | list |
string | str |
number | int |
number | float |
true | True |
false | False |
null | None |
4、JSON、JSON对象、JSON字符串
JSON有自己的数据类型,虽然与JavaScript的数据类型有些类似。
JSON是REST服务的标准格式。