JSON教程 : https://www.runoob.com/python/python-json.html
概念
JSON是一种轻量级的数据交换格式,它是一种数据格式!
JSON易于阅读、易于解析、网络传输效率高、跨语言交换数据
JSON与XML
JSON的载体是字符串
不同的语言有对应json对象的数据类型,如python是字典
JSON字符串
JSON字符串的格式与python中的字典格式相似:
{"key":value} 注意:key必须用双引号引起来,因为JSON是各语言通用的,有些语言对双引号单引号的要求严格。
反序列化(由字符串到某语言的标准格式)
将JSON数据转化为python数据就是反序列化
1.python中的json模块包
python对JSON有一套工具包, import json
2.JSON对象在python中的形式(反序列化)
JSON对象时包含JSON字符串的对象,在python大概就是字典的样子,像这样:{"key":value}
3.JSON中的Array在python中的表现(反序列化)
JSON中的Array包含的是一组JSON对象,在python中大概是这个样子:[{"key":value},{"key":value}]
4.json模块的方法loads———反序列化方法
json_str = '{"name":"xiaoming"}' #假设这是从网页获取的JSON对象 j = json.loads(json_str) print(j) print(type(j)) 结果: {'name': 'xiaoming'} <class 'dict'>
5.JSON与python的转化表
序列化
序列化就是将python的数据转化为JSON数据
使用json.dumps方法即可
如将python的字典转化为JSON的对象:
student = [ {"name": "xiaoming", "age": 18, "flag": True }, { "name": "xiaoli", "age": 17, } ] json_str = json.dumps(student) #json_str就是一个JSON对象 print(json_str) print(type(json_str))
结果:
[{"age": 18, "flag": true, "name": "xiaoming"}, {"age": 17, "name": "xiaoli"}]
<class 'str'>