一、JSON格式介绍
json数据是开发常用的一种数据报文交换格式,常用于接口返回前端、接口之间传递信息等,两种格式
1、键值对:{"name":"丸子"}
2、数组格式:[{"name":"丸子"},{"name":"金子"}]
二、如何判断数据是否为json格式
1、键值对格式和数组格式可以嵌套使用
2、python,json数据相当于字典、列表(字符串一定要用双引号)
三、举例说明
举例一:把json对象转换成字符串 json.dumps() 转化过程自动把中文字符编码成Unicode形式了
import json
data_01 = {"name":"丸子","age":18}
str_01 = json.dumps(data_01,ensure_ascii=False)
print(str_01)
print(type(str_01))
举例二:把字符串对象转换成json对象,json.loads()
import json
str_02 = '{"name":"丸子","age":18}'
data_02 = json.loads(str_02)
print(type(data_02))
print(data_02)
四、python解析json
1、jsonpath.jsonpath(json对象,"jsonpath表达式")
2、value:$.key
3、array:$.books[3].name
4、$.books[*].name
5、$..name
举例一:{"name":"丸子","age":18},取出name的值
import jsonpath
data_01 = {"name":"丸子","age":18}
value1 = jsonpath.jsonpath(data_01,'$.name')[0] #取出name的值
print(value1)
举例二:[{"name":"丸子","age":18},{"name":"金子","age":28}],取出第一个age的值
import jsonpath
data_02 = [{"name":"丸子","age":18},{"name":"金子","age":28}]
value2 = jsonpath.jsonpath(data_02,'$[1].age')[0]
print(value2)
举例三:一次性取出多个值
import jsonpath
data_02 = [{"name":"丸子","age":18},{"name":"金子","age":28}]
value3 = jsonpath.jsonpath(data_02,'$[*].age') #一次取多个值
value4 = jsonpath.jsonpath(data_02,'$..age') #一次取多个值