import jsonpath
result={
'a':1,
'b':{
'name':'yoyo'
},
'c':[{
'name':'test',
'qqq':'123'
},
{
'name': 'test',
'qqq': '123456'
}
],
'name':'test'
}
res=jsonpath.jsonpath(result,'''$.'a''')
print(res)
res2=jsonpath.jsonpath(result,'''$..name''')
print(res2)
res3=jsonpath.jsonpath(result,'''$..[?(@.name=='test')]''')
print(res3)
res5=jsonpath.jsonpath(result,'$.c.*.name')
print(res5)
====================================================
D:\python36\python.exe D:/code/py_dev_test/py基础/jsonpath提取json数据.py
[1]
['test', 'yoyo', 'test', 'test']
[{'name': 'test', 'qqq': '123'}, {'name': 'test', 'qqq': '123456'}]
['test', 'test']
import jmespath
result_list={
'code':1,
'data':[
{
'name':'test1',
'age':18
},
{
'name':'test2',
'age':19
}
],
'msg':'successful'
}
r1=jmespath.search('code',result_list)
print(r1)
r2=jmespath.search('data[0]',result_list)
print(r2)
r3=jmespath.search('data[]',result_list)
print(r3)
r5=jmespath.search('''data[?name=='test1']''',result_list)
print(r5)
r4=jmespath.search("(data[?age>=`18`])",result_list)
print(r4)
r7=jmespath.search("length(data[?age>`20`])",result_list)
print(r7)
=====================================================================
D:\python36\python.exe D:/code/py_dev_test/py基础/jmespath提取json数据.py
1
{'name': 'test1', 'age': 18}
[{'name': 'test1', 'age': 18}, {'name': 'test2', 'age': 19}]
[{'name': 'test1', 'age': 18}]
[{'name': 'test1', 'age': 18}, {'name': 'test2', 'age': 19}]
0