日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

JsonPath詳細使用教程,你了解多少?

來源: 責編: 時間:2023-09-18 21:42:13 294觀看
導讀Json Path介紹看它的名字你就能知道,這Json Path和JSON文檔有關系,正如XPath之于XML文檔一樣,JsonPath為Json文檔提供了解析能力,通過使用JsonPath,你可以方便的查找節點、獲取想要的數據,JsonPath是Json版的XPath。JsonPat

bB028資訊網——每日最新資訊28at.com

Json Path介紹

看它的名字你就能知道,這Json Path和JSON文檔有關系,正如XPath之于XML文檔一樣,JsonPath為Json文檔提供了解析能力,通過使用JsonPath,你可以方便的查找節點、獲取想要的數據,JsonPath是Json版的XPath。bB028資訊網——每日最新資訊28at.com

JsonPath語法

  • 表示文檔的根元素
  • 表示文檔的當前元素
  • .node_name  ['node_name'] 匹配下級節點
  • [index] 檢索數組中的元素
  • [start:end:step] 支持數組切片語法
  • 作為通配符,匹配所有成員
  • .. 子遞歸通配符,匹配成員的所有子元素
  • (<expr>) 使用表達式
  • ?(<boolean expr>)進行數據篩選

XPath與JsonPath比較

XPathbB028資訊網——每日最新資訊28at.com

JsonPathbB028資訊網——每日最新資訊28at.com

說明bB028資訊網——每日最新資訊28at.com

/bB028資訊網——每日最新資訊28at.com

$bB028資訊網——每日最新資訊28at.com

文檔根元素bB028資訊網——每日最新資訊28at.com

.bB028資訊網——每日最新資訊28at.com

@bB028資訊網——每日最新資訊28at.com

當前元素bB028資訊網——每日最新資訊28at.com

/bB028資訊網——每日最新資訊28at.com

.或[]bB028資訊網——每日最新資訊28at.com

匹配下級元素bB028資訊網——每日最新資訊28at.com

..bB028資訊網——每日最新資訊28at.com

N/AbB028資訊網——每日最新資訊28at.com

匹配上級元素,JsonPath不支持此操作符bB028資訊網——每日最新資訊28at.com

//bB028資訊網——每日最新資訊28at.com

..bB028資訊網——每日最新資訊28at.com

遞歸匹配所有子元素bB028資訊網——每日最新資訊28at.com

*bB028資訊網——每日最新資訊28at.com

*bB028資訊網——每日最新資訊28at.com

通配符,匹配下級元素bB028資訊網——每日最新資訊28at.com

@bB028資訊網——每日最新資訊28at.com

N/AbB028資訊網——每日最新資訊28at.com

匹配屬性,JsonPath不支持此操作符bB028資訊網——每日最新資訊28at.com

[]bB028資訊網——每日最新資訊28at.com

[]bB028資訊網——每日最新資訊28at.com

下標運算符,根據索引獲取元素,XPath索引從1開始,JsonPath索引從0開始bB028資訊網——每日最新資訊28at.com

`bB028資訊網——每日最新資訊28at.com

`bB028資訊網——每日最新資訊28at.com

[,]bB028資訊網——每日最新資訊28at.com

N/AbB028資訊網——每日最新資訊28at.com

[start:end:step]bB028資訊網——每日最新資訊28at.com

數據切片操作,XPath不支持bB028資訊網——每日最新資訊28at.com

[]bB028資訊網——每日最新資訊28at.com

?()bB028資訊網——每日最新資訊28at.com

過濾表達式bB028資訊網——每日最新資訊28at.com

N/AbB028資訊網——每日最新資訊28at.com

()bB028資訊網——每日最新資訊28at.com

腳本表達式,使用底層腳本引擎,XPath不支持bB028資訊網——每日最新資訊28at.com

()bB028資訊網——每日最新資訊28at.com

N/AbB028資訊網——每日最新資訊28at.com

分組,JsonPath不支持bB028資訊網——每日最新資訊28at.com

示例

下面是相應的JsonPath的示例,代碼來源于https://goessner/articles/JsonPath/,JSON文檔如下:bB028資訊網——每日最新資訊28at.com

{	"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		}	}}

解析情況如下:bB028資訊網——每日最新資訊28at.com

XPathbB028資訊網——每日最新資訊28at.com

JsonPathbB028資訊網——每日最新資訊28at.com

ResultbB028資訊網——每日最新資訊28at.com

/store/book/authorbB028資訊網——每日最新資訊28at.com

$.store.book[*].authorbB028資訊網——每日最新資訊28at.com

所有book的author節點bB028資訊網——每日最新資訊28at.com

//authorbB028資訊網——每日最新資訊28at.com

$..authorbB028資訊網——每日最新資訊28at.com

所有author節點bB028資訊網——每日最新資訊28at.com

/store/*bB028資訊網——每日最新資訊28at.com

$.store.*bB028資訊網——每日最新資訊28at.com

store下的所有節點,book數組和bicycle節點bB028資訊網——每日最新資訊28at.com

/store//pricebB028資訊網——每日最新資訊28at.com

$.store..pricebB028資訊網——每日最新資訊28at.com

store下的所有price節點bB028資訊網——每日最新資訊28at.com

//book[3]bB028資訊網——每日最新資訊28at.com

$..book[2]bB028資訊網——每日最新資訊28at.com

匹配第3個book節點bB028資訊網——每日最新資訊28at.com

//book[last()]bB028資訊網——每日最新資訊28at.com

$..book[(@.length-1)],或 $..book[-1:]bB028資訊網——每日最新資訊28at.com

匹配倒數第1個book節點bB028資訊網——每日最新資訊28at.com

//book[position()<3]bB028資訊網——每日最新資訊28at.com

$..book[0,1],或 $..book[:2]bB028資訊網——每日最新資訊28at.com

匹配前兩個book節點bB028資訊網——每日最新資訊28at.com

//book[isbn]bB028資訊網——每日最新資訊28at.com

$..book[?(@.isbn)]bB028資訊網——每日最新資訊28at.com

過濾含isbn字段的節點bB028資訊網——每日最新資訊28at.com

//book[price<10]bB028資訊網——每日最新資訊28at.com

$..book[?(@.price<10)]bB028資訊網——每日最新資訊28at.com

過濾price<10的節點bB028資訊網——每日最新資訊28at.com

//*bB028資訊網——每日最新資訊28at.com

$..*bB028資訊網——每日最新資訊28at.com

遞歸匹配所有子節點bB028資訊網——每日最新資訊28at.com

可以在http://jsonpath.com/站點進行驗證JsonPath的執行效果。bB028資訊網——每日最新資訊28at.com

java中使用

pom中引用bB028資訊網——每日最新資訊28at.com

<dependency>            <groupId>com.jayway.jsonpath</groupId>            <artifactId>json-path</artifactId>            <version>2.4.0</version>        </dependency>

通常是直接使用靜態方法API進行調用,例如:bB028資訊網——每日最新資訊28at.com

String json = "...";List<String> authors = JsonPath.read(json, "$.store.book[*].author");

但以上方式僅僅適用于解析一次json的情況,如果需要對同一個json解析多次,不建議使用,因為每次read都會重新解析一次json,針對此種情況,建議使用ReadContext、WriteContext,例如:bB028資訊網——每日最新資訊28at.com

String json = "..."; ReadContext ctx = JsonPath.parse(json); List<String> authorsOfBooksWithISBN = ctx.read("$.store.book[?(@.isbn)].author"); List<Map<String, Object>> expensiveBooks = JsonPath                            .using(configuration)                            .parse(json)                            .read("$.store.book[?(@.price > 10)]", List.class);

本文鏈接:http://www.www897cc.com/showinfo-26-10484-0.htmlJsonPath詳細使用教程,你了解多少?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 零拷貝并非萬能解決方案:重新定義數據傳輸的效率極限

下一篇: Springboot — 用更優雅的方式發HTTP請求(RestTemplate詳解)

標簽:
  • 熱門焦點
  • Redmi Buds 4開箱簡評:才199還有降噪 可以無腦入

    在上個月舉辦的Redmi Note11T Pro系列新機發布會上,除了兩款手機新品之外,Redmi還帶來了兩款TWS真無線藍牙耳機產品,Redmi Buds 4和Redmi Buds 4 Pro,此前我們在Redmi Note11T
  • 印度登月最關鍵一步!月船三號今晚進入環月軌道

    8月5日消息,據印度官方消息,月船三號將于北京時間今晚21時30分左右開始近月制動進入環月軌道。這是該探測器能夠成功的最關鍵步驟之一,如果成功將開始圍
  • 轎車從天而降電動車主被撞身亡 超速搶道所致:現場視頻讓網友吵翻

    近日,上海青浦區法院判決轎車從天而降電動車主被撞身亡案,轎車車主被判有期徒刑一年。案件顯示當時男子駕駛轎車在上海某路段行駛,前車忽然轉彎提速超車,
  • JavaScript 混淆及反混淆代碼工具

    介紹在我們開始學習反混淆之前,我們首先要了解一下代碼混淆。如果不了解代碼是如何混淆的,我們可能無法成功對代碼進行反混淆,尤其是使用自定義混淆器對其進行混淆時。什么是混
  • 得物效率前端微應用推進過程與思考

    一、背景效率工程隨著業務的發展,組織規模的擴大,越來越多的企業開始意識到協作效率對于企業團隊的重要性,甚至是決定其在某個行業競爭中突圍的關鍵,是企業長久生存的根本。得物
  • 一文掌握 Golang 模糊測試(Fuzz Testing)

    模糊測試(Fuzz Testing)模糊測試(Fuzz Testing)是通過向目標系統提供非預期的輸入并監視異常結果來發現軟件漏洞的方法。可以用來發現應用程序、操作系統和網絡協議等中的漏洞或
  • Temu起訴SHEIN,跨境電商戰事升級

    來源 | 伯虎財經(bohuFN)作者 | 陳平安日前據外媒報道,拼多多旗下跨境電商平臺Temu正對競爭對手SHEIN提起新訴訟,訴狀稱Shein&ldquo;利用市場支配力量強迫服裝廠商與之簽訂獨家
  • 10天營收超1億美元,《星鐵》比《原神》差在哪?

    來源:伯虎財經作者:陳平安即便你沒玩過《原神》,你一定聽說過的它的大名。恨它的人把《原神》開服那天稱作是中國游戲史上最黑暗的一天,有粉絲因為索尼在PS平臺上線《原神》,怒而
  • 認真聊聊東方甄選:如何告別低垂的果實

    來源:山核桃作者:財經無忌爆火一年后,俞敏洪和他的東方甄選依舊是頗受外界關心的&ldquo;網紅&rdquo;。7月5日至9日,為期5天的東方甄選&ldquo;甘肅行&rdquo;首次在自有App內直播,
Top 主站蜘蛛池模板: 哈尔滨市| 南华县| 六盘水市| 宜黄县| 仁寿县| 岳阳市| 宝清县| 梅河口市| 东乡族自治县| 南阳市| 龙游县| 龙川县| 卓资县| 汕头市| 丘北县| 寿宁县| 县级市| 成安县| 乌兰浩特市| 上蔡县| 会同县| 略阳县| 甘泉县| 横山县| 会泽县| 仁怀市| 南宁市| 通山县| 永新县| 云阳县| 上虞市| 鄂伦春自治旗| 孟村| 曲麻莱县| 西乡县| 鄱阳县| 洱源县| 鄂温| 胶南市| 庄浪县| 于都县|