Jochen Berger
ed9fd3adf7
convert lists and maps for ValueNode ( fixes #378 )
8 years ago
Greenwood
02c88d70e6
adding an example with more than one replacement
8 years ago
Greenwood
a2936ebd68
inverting the relationship between root scanner and function such that the function takes a parameter which is the scanner expression
8 years ago
Greenwood
525da153d0
fixing unit test, naming and extension
8 years ago
Greenwood
851249861e
Issue #191 is a bug - supports result set functions via patterns such as $.max($..allTheNumberThings)
...
$.max($.foo, $.bar) is already supported - consiquently $.max($..allTheNumberThings) should also work.
8 years ago
Jochen Berger
a71023c650
fix setting a POJO as a value using JacksonJsonNodeJsonProvider ( fixes #364 )
8 years ago
Jochen Berger
d5acf25b9f
fix evaluation of `empty` with wrapping providers ( fixes #366 )
8 years ago
Jochen Berger
78befbb5ee
`null` should be mapped to `null` ( fixes #351 )
8 years ago
Daniel Halperin
7a6fa59a85
Add tests for subsetof
8 years ago
Kalle Stenflo
45a4e5e9ef
Accept URLs as input but deprecate URL methods #218 .
8 years ago
Greenwood
317e68c4eb
removing created by
8 years ago
Jochen Berger
98debbb67b
adapt test
8 years ago
Kalle Stenflo
c23501fcd6
Added provided tests for issue #275 .
8 years ago
mattg
3a69db83f0
Fixes Issue #234 using late binding, ideally this might be a lambda that encapsulates its state -- given support for JDK 6+, its encapsulated state is maintained in an implementation of the interface ILateBindingValue, one for PATH functions one for JSON - its likely the JSON version doesn't have a purpose unless the JSON dynamically changes as a result of the function implementation but its better to create another impl for JSON if in the future JSON can be dynamically changed via functions(?)
...
The fault is in the Parameter object which obviously cached its value and when the outside reference changes its oblivious to that state change due to its internal cached instance of the state. Cache.getCache()... that singleton call inside of JsonContext then grabs an instance of the cached parameter, it would be thread unsafe to simple invalidate the cache because who knows for whom the cache is being invalidated.
Not caching function paths isn't an answer -- the input to a function could itself be another function - meaning the input (parameter) value would never be observed to the wrapping function and things such as take the $.max(3, 4, 5, $.avg(...)) would yield an answer without average being computed.
8 years ago
Kalle Stenflo
211beac6ce
Added test for issue 309.
8 years ago
Jochen Berger
b536af9b9a
fix result if object does not contain key ( fixes #270 )
8 years ago
jochenberger
7e9cfc90be
Add test
8 years ago
Jochen Berger
43414d8457
support negative array indexes
8 years ago
Jochen Berger
db59d0ba21
use json-smart to parse the query
8 years ago
Benjamin Rogge
291eabafda
enable bigdecimal and -integer for GSONProvider
8 years ago
odlp
ba3e1196dc
Add BooleanReader to allow boolean primitive to be read
...
Resolves #280
9 years ago
kysnm
2572cbab02
Property must be separated by commas
9 years ago
jmlamare
0275491485
Jettison Integration
9 years ago
jmlamare
e5f210f6a1
Jettison Integration
9 years ago
jmlamare
d2a6e7b29b
Add support for Jettison
9 years ago
Jan Lolling
a1605a167b
Bug fixed : #211 setProperty and setArrayIndex set/add cloned nodes
9 years ago
Kevin Conaway
f077bbb97d
#200 Add support for BigInteger to JsonSmartMappingProvider
9 years ago
Jochen Berger
8b26fae7b4
fix and test for 'not exists' serialization ( fixes #178 )
9 years ago
Jochen Berger
a8bc2af229
remove the get_json function that was accidentally introduced when merging #167 ( fixes #180 )
9 years ago
Jochen Berger
2cb9b474db
add test for #173
9 years ago
mchmielarz
1e3f11cbc2
Solution proposal for #181
10 years ago
Alexey Makeyev
58c454b52d
Fix issue #175 - Size evaluation could break indefinite path evaluation
10 years ago
Alexey Makeyev
604b42f865
one more test for parentheses parsing
10 years ago
Alexey Makeyev
67b3ce7888
fix for incorrect handling of logical operator priorities
10 years ago
Kalle Stenflo
d3231e7f04
Some methods (i.e. DocumentContext's set) fail when JSON name has ' in it #171
10 years ago
Kalle Stenflo
3de1137b92
Document context set method produces unexpected results for arrays #170
10 years ago
Matthew J Greenwood
5e2ef13c64
added negative test cases - removed readPosition from function parameter parser, ready for review
10 years ago
Matthew J Greenwood
5d8e209141
Added an append function such that JSON can be appended to the current document and then a function executed over the result.
10 years ago
Matthew J Greenwood
01bdbe2cc3
fixing broken tests
...
changing format of functions path expr with/without args
removing errant unwrap call - added to test
10 years ago
Matthew J Greenwood
b919644425
adds an example for HttpLoading via getjson (not intended to be merged, just an example) also fixes bug #164 min/max providing wrong value
10 years ago
Matthew J Greenwood
f127edabe1
Test for string, added concat function
10 years ago
Matthew J Greenwood
f932aaf22f
working version with JSON + path expressions - need to handle error cases with tests
10 years ago
Matthew J Greenwood
fadc946032
removed braces added support for JSON - need to parse JSON now...
10 years ago
Matthew J Greenwood
b0ec61f7a1
missing dot in $avg -> $.avg - fixing CI
10 years ago
Matthew J Greenwood
1fa2b0e192
added test, removed foobar from min test - derp
10 years ago
Matthew J Greenwood
861c0b34bd
Modified abstract aggregation and the path compiler to handle nested functions, working implementation committed
...
still need to support literal function arguments. At the present time the document passed for parameter function parsing is the root document. Additionally, the braces still exist within the tokenizer - need to handle error conditions and see the consiquence of removing those from the implementation
10 years ago
Matthew J Greenwood
76cfa0e30f
Initiial implementation of PathCompiler changes to support functions that take other JsonPath elements - need to decide whether path parameters are relative to the function location (probably not)
...
Example:
$.sum({$.numbers.min()}, {$.numbers.max()})
You could also do something such as:
$.numbers.add({$.numbers.min()})
where add for each element in the array took another JsonPath parameter that we'd add to resulting in an array result with the min value of numbers added to each element in the number's array.
Obviously there's better examples than the above - but these changes allow the PathCompiler to parse the function parameters for nested JsonPath's
10 years ago
Kalle Stenflo
ac83feea14
Improved escape handling and fixed JsonValueNode issue.
10 years ago
Kalle Stenflo
569e544a10
Tests covering issue #166
10 years ago
Kalle Stenflo
1617b3bb8d
Fix issue #163 - Excess filter expressions should be disallowed.
10 years ago