最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python json解析庫jsonpath原理及使用示例

 更新時(shí)間:2020年11月25日 10:48:41   作者:-零  
這篇文章主要介紹了Python json解析庫jsonpath原理及使用示例,文中通過示例代碼介紹的非常詳細(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ù)屬性訪問,json不支持,因?yàn)閖son是個(gè)key-value遞歸結(jié)構(gòu),不需要數(shù)屬性訪問
[] 迭代器標(biāo)示(可以在里邊做簡(jiǎn)單的迭代操作,如數(shù)組下標(biāo),根據(jù)內(nèi)容選值等)
[,] 支持迭代器中做多選
?() 支持過濾操作
() 支持表達(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à)錢
$…book[2] 第三本書
$…book[(@.length-1)] 最后一本書
$…book[0,1] 取前兩本書
$…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)文章

最新評(píng)論

海宁市| 井陉县| 沭阳县| 莱芜市| 紫金县| 高密市| 东城区| 青海省| 南宁市| 乌海市| 师宗县| 四子王旗| 左云县| 鹤山市| 明星| 大理市| 西丰县| 东方市| 特克斯县| 甘谷县| 锦州市| 襄城县| 阜康市| 临安市| 富民县| 凤冈县| 南部县| 鹤山市| 阿克| 清涧县| 湄潭县| 杭锦旗| 祁东县| 南汇区| 英德市| 台州市| 潮安县| 黄龙县| 隆子县| 大方县| 墨江|