pythonjsonpath库_Pythonjson解析库jsonpath原理及使⽤⽰例jsonpath
jsonpath ⽤于多层嵌套 json格式的 解析。
pip install jsonpath
JsonPath
描述
$
根节点
@
现⾏节点
.or[]
取⼦节点
n/a
取⽗节点,jsonpath为⽀持
..
就是不管位置,选择所有复合条件的条件
*
匹配所有元素节点
n/a
根据属性访问,json不⽀持,因为json是个key-value递归结构,不需要数属性访问
手机一直显示数据加载中
image是什么格式的文件[]
迭代器标⽰(可以在⾥边做简单的迭代操作,如数组下标,根据内容选值等)
[,]
免费精品ppt模板网站⽀持迭代器中做多选
()
⽀持过滤操作
()
⽀持表达式计算
n/a
分组,JsonPath不⽀持
jsonpath使⽤⽰例
book_dict = {
"store": {
"book": [
{ "category": "reference", "author": "Nigel Rees", "title": "Sayings of the Century", "price": 8.95
},
{ "category": "fiction", "author": "Evelyn Waugh", "title": "Sword of Honour", "price": 12.99
},
{ "category": "fiction", "author": "Herman Melville", "title": "Moby Dick",
"isbn": "0-553-21311-3", "price": 8.99
},
{ "category": "fiction", "author": "J. R. R. Tolkien", "title": "The Lord of the Rings", "isbn": "0-395-19395-8", "price": 22.99
}
],
"bicycle": {
"color": "red",
"price": 19.95
}
}
}
JsonPath
Result
$.store.book[*].author
store中的所有的book作者$…author
所有的作者
$.store.*
python解析json文件
store下的所有元素
$.store…price
store中的所有价钱
$…book[2]
第三本书
$…book[(@.length-1)]
最后⼀本书
$…book[0,1]
取前两本书
$…book[?(@.isbn)]
获取有jsbn的所有数
$…book[?(@.price<10)]
获取价格⼤于10
$…*
匹配所有数据
使⽤⽰例
$ 是查的根节点,传参数是python的dict 类型,当查到的时候返回⼀个list结果,查失败的时候返回 False. import jsonpath
result = {
"code": 0,
"data": [
{
"age": 20,
"create_time": "2019-09-15",
"id": 1,
"mail": "283340479@qq",
"name": "yoyo",
"sex": "M"
},
{
"age": 21,
"create_time": "2019-09-16",
"id": 2,
"mail": "123445@qq",
"name": "yoyo111",
"sex": "M"
网络编程技术好学吗}
],
"msg": "success!"
}
msg = jsonpath.jsonpath(result, '$.msg')
print(msg) # 输出结果 ['success!']
names = jsonpath.jsonpath(result, '$..name')
css怎么把文字放在图片中间print(names) # 输出结果 ['yoyo', 'yoyo111']
no = jsonpath.jsonpath(result, '$..yoyo')
print(no) # 不到是结果是 False
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持⾃学编程⽹。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。