JsonPath的使用
生活随笔
收集整理的這篇文章主要介紹了
JsonPath的使用
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
語(yǔ)法:
JsonPath | 描述 |
$ | 根節(jié)點(diǎn) |
@ | 當(dāng)前節(jié)點(diǎn) |
.or[] | 子節(jié)點(diǎn) |
.. | 選擇所有符合條件的節(jié)點(diǎn) |
* | 所有節(jié)點(diǎn) |
[] | 迭代器標(biāo)示,如數(shù)組下標(biāo) |
[,] | 支持迭代器中做多選 |
[start:end:step] | 數(shù)組切片運(yùn)算符 |
?() | 支持過(guò)濾操作 |
() | 支持表達(dá)式計(jì)算 |
?
需要的jar包:
commons-lang-2.6.jar json-path-0.8.1.jar json-smart-1.1.1.jar對(duì)于如下的json,通過(guò)實(shí)例介紹JsonPath的使用
{ "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,"isbn": "0-553-21311-3"}],"bicycle": {"color": "red","price": 19.95}} }代碼:
| 12345678910111213141516171819202122232425 | privatestatic voidjsonPathTest() {????JSONObject json = jsonTest();//調(diào)用自定義的jsonTest()方法獲得json對(duì)象,生成上面的json?????????//輸出book[0]的author值????String author = JsonPath.read(json,"$.store.book[0].author");?????????//輸出全部author的值,使用Iterator迭代????List<String> authors = JsonPath.read(json,"$.store.book[*].author");?????????//輸出book[*]中category == 'reference'的book????List<Object> books = JsonPath.read(json,"$.store.book[?(@.category == 'reference')]");???????????????????????//輸出book[*]中price>10的book????List<Object> books = JsonPath.read(json,"$.store.book[?(@.price>10)]");?????????//輸出book[*]中含有isbn元素的book????List<Object> books = JsonPath.read(json,"$.store.book[?(@.isbn)]");?????????//輸出該json中所有price的值????List<Double> prices = JsonPath.read(json,"$..price");?????????//可以提前編輯一個(gè)路徑,并多次使用它????JsonPath path = JsonPath.compile("$.store.book[*]");????List<Object> books = path.read(json);} |
總結(jié)
以上是生活随笔為你收集整理的JsonPath的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: arcpy环境搭建
- 下一篇: Json 与GeoJson