前言
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它可以让人们很容易的进行阅读和编写,同时也方便了机器进行解析和生成,适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。简单说就是javascript中的对象和数组,通过这两种结构可以表示各种复杂的结构。
📝对象:对象在js中是花括号{}括起来的内容,数据结构为{key:value,key:value,...}这样的键值对结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为对象.key来获取属性值,这个属性值的类型可以是数字、字符串、数组、对象这几种。
📝数组:数组在js中是中括号[]括起来的内容,数据结构为["Python", "javascript", "C++",..],类似python中的列表,取值方式和所有语言中一样,使用索引获取,字段值的类型可以是数字、字符串、数组、对象几种。
json模块
在之前的request库介绍中就提到过,现在99%的接口返回的数据都是json格式,在python中,有专门处理json格式的模块——json模块,在python2.6之后的版本都自带了这一个模块,直接导入import json即可。json模块提供了四个功能:dumps、loads、dump、load,用于字符串和python数据类型之间进行转换。
json.dumps():将 Python 对象解码转换成 JSON 字符串
json.loads():把JSON 格式字符串解码转换成Python 对象
json.dump():将Python内置类型序列化为JSON 对象后写入文件
json.load():读取文件中JSON 形式的字符串元素转化成Python 类型
其中类文件对象的理解,其实就是具有read()或者write()方法的对象,比如f = open("test.txt","r") f就是类文件对象。下面对dumps和loads分别举例说明:
import json
data = [{'a': 1, 'b': 2, 'c': 3}]
data2 &#