JsonPath仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Kalle Stenflo c88638c4ef Fixed issues 11 years ago
json-path Fixed issues 11 years ago
json-path-assert Fixed issues 11 years ago
json-path-web-test Option handling improved. 11 years ago
.gitignore Ignore my TODO list 11 years ago
LICENSE
README Update README 11 years ago
jsonpath.png
pom.xml Updated com.fasterxml.jackson.core to 2.4.0 11 years ago

README

Java DSL for reading and testing JSON documents.

------------------------------------------
0.9.0 2013-09-26
------------------------------------------
- OSGI ready
- Bug fixes
- Performance improvements

- select multiple attributes
List<Map<String, Object>> matches = JsonPath.read(DOCUMENT, "$.store.book[*].['category', 'title']");
Map<String, Object> match = JsonPath.read(DOCUMENT, "$.store.bicycle['color', 'display-price']");

- Array operations and slicing improved
String JSON_ARRAY = "[1, 3, 5, 7, 8, 13, 20]";

//no slicing
JsonPath.read(JSON_ARRAY, "$[3]") => 7

//no slicing, multi index
JsonPath.read(JSON_ARRAY, "$[0,1,2]") => [1,3,5]

//from index 0 (inclusive) until index 3 (exclusive)
JsonPath.read(JSON_ARRAY, "$[:3]") => [1,3,5]

//from index 1 (inclusive) until index 5 (exclusive)
JsonPath.read(JSON_ARRAY, "$[1:5]") => [3, 5, 7, 8]
JsonPath.read(JSON_ARRAY, "$[1:15]") => [3, 5, 7, 8, 13, 20]

//from tail grab 3
JsonPath.read(JSON_ARRAY, "$[-3:]") => [8, 13, 20]

//grab no 3 from tail
JsonPath.read(JSON_ARRAY, "$[3:]") => 8

//grab no 3 from tail (same as above)
JsonPath.read(JSON_ARRAY, "$[(@.length -3)]") =>

- improved filter on primitives. Now you can compare with @
String json = "{\"contents\": [1,2,3]}";
List<Integer> result = JsonPath.read(json, "$.contents[?(@ == 2)]");



------------------------------------------
0.8.1 2012-04-16
------------------------------------------
- Fixed issue http://code.google.com/p/json-path/issues/detail?id=11
- HttpProvider SPI
- Improved JavaDoc
- More experimental work on JsonModel


------------------------------------------
0.8.0 2012-03-08
------------------------------------------
- Fixed issue http://code.google.com/p/json-path/issues/detail?id=8
- Fixed issue http://code.google.com/p/json-path/issues/detail?id=9
- Improved compliance
- Fixed bug with '=' sign when evaluating expressions
- OSGi support added
- Support for custom array filters in JsonPath
- Lots of new features in JsonModel


------------------------------------------
0.5.6 2012-02-09
------------------------------------------
- Replaced regexp with custom tokenizer
- Removed static declaration of JSON_PARSER
- Introduced SPI for JsonProvider
- Elaborating new concept with JsonModel

------------------------------------------
0.5.5
------------------------------------------
- Improved JSON bracket notation. $['store']['book'][*]['author name']
properties can also contain '.' eg $['store']['book'][*]['author.name']

------------------------------------------
0.5.4
------------------------------------------
- Replaced com.googlecode.json-simple with net.minidev.json-smart
- Introduced different parse modes, JsonPath.SLACK_MODE and JsonPath.STRICT_MODE (the slack mode lets you use single quotes or even no quotes at all)

------------------------------------------
0.5.3
------------------------------------------
- Major refactoring
- JsonPath does not always produce a List as response

------------------------------------------
0.5.2
------------------------------------------
- Fixed issue that path was never considered definite if containing a ':'
- Bracket notation is now first class citizen $.foo.bar == $.['foo'].['bar']
- Added JsonAsserter.assertNotDefined(String path) to allow checks for negative existence of a path