欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python json解析庫(kù)jsonpath原理及使用示例

 更新時(shí)間:2020年11月25日 10:48:41   作者:-零  
這篇文章主要介紹了Python json解析庫(kù)jsonpath原理及使用示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

jsonpath

jsonpath 用于多層嵌套 json格式的 解析。

pip install jsonpath

JsonPath 描述
$ 根節(jié)點(diǎn)
@ 現(xiàn)行節(jié)點(diǎn)
.or[] 取子節(jié)點(diǎn)
n/a 取父節(jié)點(diǎn),jsonpath為支持
.. 就是不管位置,選擇所有復(fù)合條件的條件
* 匹配所有元素節(jié)點(diǎn)
n/a 根據(jù)屬性訪問(wèn),json不支持,因?yàn)閖son是個(gè)key-value遞歸結(jié)構(gòu),不需要數(shù)屬性訪問(wèn)
[] 迭代器標(biāo)示(可以在里邊做簡(jiǎn)單的迭代操作,如數(shù)組下標(biāo),根據(jù)內(nèi)容選值等)
[,] 支持迭代器中做多選
?() 支持過(guò)濾操作
() 支持表達(dá)式計(jì)算
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.* store下的所有元素
$.store…price store中的所有價(jià)錢(qián)
$…book[2] 第三本書(shū)
$…book[(@.length-1)] 最后一本書(shū)
$…book[0,1] 取前兩本書(shū)
$…book[?(@.isbn)] 獲取有jsbn的所有數(shù)
$…book[?(@.price<10)] 獲取價(jià)格大于10
$…* 匹配所有數(shù)據(jù)

使用示例

$ 是查找的根節(jié)點(diǎn),傳參數(shù)是python的dict 類型,當(dāng)查找到的時(shí)候返回一個(gè)list結(jié)果,查找失敗的時(shí)候返回 False.

import jsonpath

result = {
  "code": 0,
  "data": [
    {
      "age": 20,
      "create_time": "2019-09-15",
      "id": 1,
      "mail": "283340479@qq.com",
      "name": "yoyo",
      "sex": "M"
    },
    {
      "age": 21,
      "create_time": "2019-09-16",
      "id": 2,
      "mail": "123445@qq.com",
      "name": "yoyo111",
      "sex": "M"
    }
  ],
  "msg": "success!"
}

msg = jsonpath.jsonpath(result, '$.msg')
print(msg)  # 輸出結(jié)果 ['success!']
names = jsonpath.jsonpath(result, '$..name')
print(names)  # 輸出結(jié)果 ['yoyo', 'yoyo111']
no = jsonpath.jsonpath(result, '$..yoyo')
print(no)  # 找不到是結(jié)果是 False

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • pycharm安裝django框架詳細(xì)圖文教程(指定版本)

    pycharm安裝django框架詳細(xì)圖文教程(指定版本)

    這篇文章主要給大家介紹了關(guān)于pycharm安裝django框架(指定版本)的相關(guān)資料,PyCharm是一種Python?IDE,帶有一整套可以幫助用戶在使用Python語(yǔ)言開(kāi)發(fā)時(shí)提高其效率的工具,需要的朋友可以參考下
    2023-10-10
  • Python實(shí)現(xiàn)的棧(Stack)

    Python實(shí)現(xiàn)的棧(Stack)

    棧作為一種數(shù)據(jù)結(jié)構(gòu),是一種只能在一端進(jìn)行插入和刪除操作。這篇文章給大家介紹了Python實(shí)現(xiàn)的棧(Stack)的相關(guān)資料,感興趣的朋友一起看看吧
    2018-01-01
  • python-leetcode求區(qū)間[M,N]內(nèi)的所有素?cái)?shù)的個(gè)數(shù)實(shí)現(xiàn)方式

    python-leetcode求區(qū)間[M,N]內(nèi)的所有素?cái)?shù)的個(gè)數(shù)實(shí)現(xiàn)方式

    這篇文章主要介紹了python-leetcode求區(qū)間[M,N]內(nèi)的所有素?cái)?shù)的個(gè)數(shù)實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python計(jì)算質(zhì)數(shù)的方法總結(jié)

    Python計(jì)算質(zhì)數(shù)的方法總結(jié)

    質(zhì)數(shù)(Prime?Number)是指大于1且只能被1和自身整除的正整數(shù),計(jì)算質(zhì)數(shù)是數(shù)論中的一個(gè)經(jīng)典問(wèn)題,本文將介紹python中多種計(jì)算質(zhì)數(shù)的方法,希望對(duì)大家有所幫助
    2023-11-11
  • Python簡(jiǎn)單實(shí)現(xiàn)網(wǎng)頁(yè)內(nèi)容抓取功能示例

    Python簡(jiǎn)單實(shí)現(xiàn)網(wǎng)頁(yè)內(nèi)容抓取功能示例

    這篇文章主要介紹了Python簡(jiǎn)單實(shí)現(xiàn)網(wǎng)頁(yè)內(nèi)容抓取功能,結(jié)合實(shí)例形式分析了Python基于urllib模塊的網(wǎng)頁(yè)請(qǐng)求、內(nèi)容讀取等相關(guān)操作技巧,需要的朋友可以參考下
    2018-06-06
  • python3實(shí)現(xiàn)Dijkstra算法最短路徑的實(shí)現(xiàn)

    python3實(shí)現(xiàn)Dijkstra算法最短路徑的實(shí)現(xiàn)

    這篇文章主要介紹了python3實(shí)現(xiàn)Dijkstra算法最短路徑的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Python裝飾器詳細(xì)介紹

    Python裝飾器詳細(xì)介紹

    這篇文章主要介紹了Python裝飾器詳細(xì)講解,包括裝飾器的功能及實(shí)現(xiàn)方法,通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • 利用Python找出刪除自己微信的好友并將他們自動(dòng)化刪除

    利用Python找出刪除自己微信的好友并將他們自動(dòng)化刪除

    你是否有微信被刪了好友不自知,還傻傻的給對(duì)方發(fā)消息,結(jié)果出現(xiàn)了下圖中那尷尬的一幕的經(jīng)歷呢?其實(shí)我們可以用Python提前把他們找出來(lái)并自動(dòng)化刪除避免尷尬的
    2023-01-01
  • python實(shí)現(xiàn)的AES雙向?qū)ΨQ加密解密與用法分析

    python實(shí)現(xiàn)的AES雙向?qū)ΨQ加密解密與用法分析

    這篇文章主要介紹了python實(shí)現(xiàn)的AES雙向?qū)ΨQ加密解密與用法,簡(jiǎn)單分析了AES加密解密算法的基本概念并結(jié)合實(shí)例形式給出了AES加密解密算法的相關(guān)實(shí)現(xiàn)技巧與使用注意事項(xiàng),需要的朋友可以參考下
    2017-05-05
  • Python Django框架實(shí)現(xiàn)應(yīng)用添加logging日志操作示例

    Python Django框架實(shí)現(xiàn)應(yīng)用添加logging日志操作示例

    這篇文章主要介紹了Python Django框架實(shí)現(xiàn)應(yīng)用添加logging日志操作,結(jié)合實(shí)例形式分析了Django框架中添加Python內(nèi)建日志模塊相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05

最新評(píng)論