JsonPath 语法 与 XPath 对比
| XPath | JSONPath | Description | 
| / | $ | the root object/element | 
| . | @ | the current object/element | 
| / | . or [] | child operator | 
| .. | n/a | parent operator | 
| // | .. | recursive descent. JSONPath borrows this syntax from E4X. | 
| * | * | wildcard. All objects/elements regardless their names. | 
| @ | n/a | attribute access. JSON structures don‘t have attributes. | 
| [] | [] | subscript operator. XPath uses it to iterate over element collections and for predicates. In Javascript and JSON it is the native array operator. | 
| | | [,] | Union operator in XPath results in a combination of node sets. JSONPath allows alternate names or array indices as a set. | 
| n/a | [start:end:step] | array slice operator borrowed from ES4. | 
| [] | ?() | applies a filter (script) expression. | 
| n/a | () | script expression, using the underlying script engine. | 
| () | n/a | grouping in Xpath | 
JSONPath expressions can use the dot–notation
$.store.book[0].title
or the bracket–notation
$[‘store‘][‘book‘][0][‘title‘]
The following XPath expression
/store/book[1]/title
JsonPath would look like
x.store.book[0].title
or
x[‘store‘][‘book‘][0][‘title‘]
JSONPath examples
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
 | 
{ "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    }  }} | 
| XPath | JSONPath | Result | 
/store/book/author | 
$.store.book[*].author | 
the authors of all books in the store | 
//author | 
$..author | 
all authors | 
/store/* | 
$.store.* | 
all things in store, which are some books and a red bicycle. | 
/store//price | 
$.store..price | 
the price of everything in the store. | 
//book[3] | 
$..book[2] | 
the third book | 
//book[last()] | 
$..book[(@.length-1)]$..book[-1:] | 
the last book in order. | 
//book[position()<3] | 
$..book[0,1]$..book[:2] | 
the first two books | 
//book[isbn] | 
$..book[?(@.isbn)] | 
filter all books with isbn number | 
//book[price<10] | 
$..book[?(@.price<10)] | 
filter all books cheapier than 10 | 
//* | 
$..* | 
all Elements in XML document. All members of JSON structure. | 
需要的JAR包
json-path-0.9.1.jar
json-smart-1.2.jar
commons-lang-2.6.jar
文章来自:http://www.cnblogs.com/kill0001000/p/4884803.html