1. jsonpath:用来解析多层嵌套的json数据;JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript, Python, PHP 和 Java。
2. 应用:该模块用于字典取值。不管字典层数多深,格式多么复杂,只要知道key的名字,就能找到。
3. 语法:
4. 示例
wsdics = {
"money":19000,
"house":{
"beijing":["三环","四环","五环"],
"shanghai":["静安区","浦东新区"]
},
"car":["bmw",'benz','audi','byd'],
"pets":[
{"name":"xiaohei","type":"dog"},
{"name":"xiaobai","type":"cat"},
{"name":"xiaofen","type":"cat"},
{"name":"xiaolan","type":"dog"},
]
}
# jsonpath其实是语法,他的取值方法如下:
result=jsonpath.jsonpath(wsdics,"$.pets[0].type")
print(result) #['dog']
result1=jsonpath.jsonpath(wsdics,"$..shanghai") #模糊查询.两个点是搜索所有的层级的。返回的是一个list
print(result1) #[['静安区', '浦东新区']]
result2=jsonpath.jsonpath(wsdics,"$.shanghai") #模糊查询。一个点是按层级的。查询第一个层级的
print(result2) #False
result3=jsonpath.jsonpath(wsdics,"$.car") #模糊查询。
print(result3)#[['bmw', 'benz', 'audi', 'byd']]
result4=jsonpath.jsonpath(wsdics,"$..car") #模糊查询.两个点是搜索所有的层级的
print(result4)#[['bmw', 'benz', 'audi', 'byd']]