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

Python的jsonpath庫(kù)使用方法實(shí)例

 更新時(shí)間:2023年08月21日 10:39:54   作者:shines_m  
這篇文章主要介紹了Python的jsonpath庫(kù)使用方法實(shí)例,接口返回的jsonn數(shù)據(jù),需要取值后斷言,一般我們是使用jsonpath來(lái)提取接口返回的數(shù)據(jù) ,JsonPath是一種信息抽取類庫(kù),是從JSON文檔中抽取指定信息的工具,,需要的朋友可以參考下

一、簡(jiǎn)介

接口返回的json數(shù)據(jù),需要取值后斷言,一般我們是使用jsonpath來(lái)提取接口返回的數(shù)據(jù)

JsonPath是一種信息抽取類庫(kù),是從JSON文檔中抽取指定信息的工具。

JsonPath相當(dāng)于是Xpath 。

安裝

pip install jsonpath

二、語(yǔ)法說(shuō)明

JsonPath解析的內(nèi)容必須是字典格式,通過(guò)JsonPath獲得的內(nèi)容,會(huì)以list的形式進(jìn)行返回 。

如果表達(dá)式出現(xiàn)錯(cuò)誤,則會(huì)返回False(布爾類型的值)

jsonpath表達(dá)式的基本格式規(guī)范:

符號(hào)描述
$表示根節(jié)點(diǎn),也是所有jsonpath表達(dá)式的開(kāi)始
.表示獲取子節(jié)點(diǎn)
..表示獲取所有符合條件的內(nèi)容
*代表所有的元素節(jié)點(diǎn)
[]表示迭代器的標(biāo)示(可以用于處理下標(biāo)等情況)
[,]表示多個(gè)結(jié)果的選擇
?()表示過(guò)濾操作
@表示當(dāng)前節(jié)點(diǎn)

三、代碼示例

import jsonpath
data = { "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
    }
  }
}
# 獲取所有book的價(jià)格
price = jsonpath.jsonpath(data, '$.store.book[*].price')
print(price)
>> [8.95, 12.99, 8.99, 22.99]
# 獲取部分book節(jié)點(diǎn)下的price節(jié)點(diǎn)值,可支持切片操作
res1 = jsonpath.jsonpath(data, '$.store.book[0,1].price')
res2 = jsonpath.jsonpath(data, '$.store.book[0:2].price')
print(res1)
print(res2)
>> [8.95, 12.99]
>> [8.95, 12.99]
# 獲取最后一本書的價(jià)格(不能通過(guò)[-1]這種方式獲取)
res3 = jsonpath.jsonpath(data, '$.store.book[-1:].price')
print(res3)
>> [22.99]
# 獲取store節(jié)點(diǎn)下所有price節(jié)點(diǎn)的值
res4 = jsonpath.jsonpath(data, '$.store...price')
res5 = jsonpath.jsonpath(data, '$..price')
print(res4)
print(res5)
>> [8.95, 12.99, 8.99, 22.99, 19.95]
>> [8.95, 12.99, 8.99, 22.99, 19.95]
# jsonpath解析錯(cuò)誤,返回bool類型數(shù)據(jù)false
res6 = jsonpath.jsonpath(data, '$.store.book111')
print(res6)
>> False
# 獲取價(jià)格大于10的所有書籍信息
book = jsonpath.jsonpath(data, '$..book[?(@.price>10)]')
print(book)
>> [{'category': 'fiction', 'author': 'Evelyn Waugh', 'title': 'Sword of Honour', 'price': 12.99}, {'category': 'fiction', 'author': 'J. R. R. Tolkien', 'title': 'The Lord of the Rings', 'isbn': '0-395-19395-8', 'price': 22.99}]
# 獲取book的價(jià)格大于10的prcice
price = jsonpath.jsonpath(data, '$..book[?(@.price>10)].price')
print(price)
>> [12.99, 22.99]
# 過(guò)濾所有帶有 isbn編號(hào)的書籍信息
isbn = jsonpath.jsonpath(data, '$..book[?(@.isbn)]')
print(isbn)
>> [{'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}]

到此這篇關(guān)于Python的jsonpath庫(kù)使用方法實(shí)例的文章就介紹到這了,更多相關(guān)Python的jsonpath庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • pandas 使用insert插入一列

    pandas 使用insert插入一列

    這篇文章主要介紹了pandas 使用insert插入一列的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • pyqt和pyside開(kāi)發(fā)圖形化界面

    pyqt和pyside開(kāi)發(fā)圖形化界面

    選擇PyQt或PySide來(lái)開(kāi)發(fā)圖形界面是因?yàn)镻ython和Qt的跨平臺(tái)特性,Qt5甚至支持iOS和Android,并且開(kāi)發(fā)相同的軟件,Python的效率是極高的,下面看使用示例
    2014-01-01
  • Tensorflow之梯度裁剪的實(shí)現(xiàn)示例

    Tensorflow之梯度裁剪的實(shí)現(xiàn)示例

    這篇文章主要介紹了Tensorflow之梯度裁剪的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Python如何通過(guò)百度翻譯API實(shí)現(xiàn)翻譯功能

    Python如何通過(guò)百度翻譯API實(shí)現(xiàn)翻譯功能

    這篇文章主要介紹了Python如何通過(guò)百度翻譯API實(shí)現(xiàn)翻譯功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Python的線程使用隊(duì)列Queue來(lái)改造轉(zhuǎn)賬場(chǎng)景

    Python的線程使用隊(duì)列Queue來(lái)改造轉(zhuǎn)賬場(chǎng)景

    前篇我們了隊(duì)列Queue和轉(zhuǎn)賬場(chǎng)景這次趁熱學(xué)委展示一下使用隊(duì)列解決轉(zhuǎn)賬場(chǎng)景的問(wèn)題,這篇文章主要介紹了Python的線程使用隊(duì)列來(lái)改造轉(zhuǎn)賬場(chǎng)景,需要的朋友可以參考一下
    2022-02-02
  • python生成IP段的方法

    python生成IP段的方法

    這篇文章主要介紹了python生成IP段的方法,涉及Python文件讀寫及隨機(jī)數(shù)操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • Python多重繼承的使用小結(jié)

    Python多重繼承的使用小結(jié)

    Python支持多重繼承,允許子類繼承多個(gè)父類的屬性和方法,當(dāng)父類存在同名方法時(shí),Python會(huì)按照方法解析順序(MRO)決定調(diào)用順序,下面就來(lái)詳細(xì)的介紹一下多重繼承的使用
    2025-12-12
  • Python基于DeepSeek大模型的提示詞優(yōu)化方案

    Python基于DeepSeek大模型的提示詞優(yōu)化方案

    以下基于DeepSeek大模型特性及搜索結(jié)果的綜合分析,結(jié)合提示詞設(shè)計(jì)原則、技術(shù)原理與優(yōu)化策略,提供完整Python代碼案例及詳細(xì)解析,需要的朋友可以參考下
    2025-04-04
  • 簡(jiǎn)介Django框架中可使用的各類緩存

    簡(jiǎn)介Django框架中可使用的各類緩存

    這篇文章主要介紹了簡(jiǎn)介Django框架中可使用的各類緩存,Django是人氣最高的Python web開(kāi)發(fā)框架,需要的朋友可以參考下
    2015-07-07
  • Python中Tensorflow無(wú)法調(diào)用GPU問(wèn)題的解決方法

    Python中Tensorflow無(wú)法調(diào)用GPU問(wèn)題的解決方法

    文章詳解如何解決TensorFlow在Windows無(wú)法識(shí)別GPU的問(wèn)題,需降級(jí)至2.10版本,安裝匹配CUDA?11.2和cuDNN?8.9.7,配置環(huán)境變量,并正確安裝TensorFlow?CPU版以確保GPU支持,需要的朋友可以參考下
    2025-06-06

最新評(píng)論

五家渠市| 康定县| 秀山| 交城县| 周宁县| 蒙自县| 都江堰市| 英吉沙县| 瓦房店市| 杭州市| 南汇区| 和顺县| 宜兰县| 阜阳市| 灌南县| 锡林郭勒盟| 萨迦县| 酉阳| 玛纳斯县| 香港| 石棉县| 朝阳区| 忻州市| 渝北区| 徐水县| 宣化县| 澄城县| 广汉市| 象州县| 邹平县| 益阳市| 昌乐县| 双流县| 贺州市| 呼玛县| 宽甸| 平阴县| 綦江县| 泾源县| 东乡族自治县| 温宿县|