當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JSONPATH使用方法
生活随笔
收集整理的這篇文章主要介紹了
JSONPATH使用方法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
如下的json:{ "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}}
}
private static void jsonPathTest() {JSONObject json = jsonTest();//調(diào)用自定義的jsonTest()方法獲得json對象,生成上面的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'的bookList<Object> books = JsonPath.read(json, "$.store.book[?(@.category == 'reference')]"); //輸出book[*]中price>10的bookList<Object> books = JsonPath.read(json, "$.store.book[?(@.price>10)]");//輸出book[*]中含有isbn元素的bookList<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);
}
語法:
| 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)算符 |
| ?() | 支持過濾操作 |
| () | 支持表達(dá)式計(jì)算 |
原文地址:http://www.cnblogs.com/weilunhui/p/3857366.html
總結(jié)
以上是生活随笔為你收集整理的JSONPATH使用方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。