Tags: gxdvip/gjson
Tags
Add tilde boolean operator
This commit adds the new tilde '~' operator, which when used will
convert a value to a boolean before comparison.
For example, using the following JSON:
{
"vals": [
{ "a": 1, "b": true },
{ "a": 2, "b": true },
{ "a": 3, "b": false },
{ "a": 4, "b": "0" },
{ "a": 5, "b": 0 },
{ "a": 6, "b": "1" },
{ "a": 7, "b": 1 }
{ "a": 8, "b": "true" },
{ "a": 9, "b": false }
{ "a": 10, "b": null }
{ "a": 11 }
]
}
You can now query for all true(ish) values:
vals.#(b==~true)#
Which returns:
[1,2,6,7,8]
Or all false(ish) values:
vals.#(b==~false)#
Which returns:
[3,4,5,9,10,11]
The last value which was non-existent is treated as "false"
Allow escaped string characters in query values Fixes tidwall#215
Fix non-existent response from multires query on empty array
This commit fixes an issue where a multires query on an empty
array will result in a non-existent (empty string) result.
For example `Get("[]", "#(key=value)#").Raw` resulted in an
empty string. But, it should actually result in the empty
array `[]`.
Merge pull request tidwall#209 from zepatrik/bump-pretty Bump pretty dependency
Removed reflect package This commit removes the reflect package to avoid using the reflect.SliceHeader and reflect.StringHeader structures. Instead new sliceHeader and stringHeader stuctures have been added with the same layout expect that they intentionally expose the data field as an unsafe.Pointer instead of a uintptr.
PreviousNext