mirror of https://github.com/tidwall/gjson.git
Update SYNTAX.md
This commit is contained in:
parent
d7dbdd1d92
commit
3c11634522
31
SYNTAX.md
31
SYNTAX.md
|
@ -135,6 +135,37 @@ changed in v1.3.0 as to avoid confusion with the new [multipath](#multipaths)
|
||||||
syntax. For backwards compatibility, `#[...]` will continue to work until the
|
syntax. For backwards compatibility, `#[...]` will continue to work until the
|
||||||
next major release.*
|
next major release.*
|
||||||
|
|
||||||
|
The `~` (tilde) operator will convert a value to a boolean before comparison.
|
||||||
|
|
||||||
|
For example, using the following JSON:
|
||||||
|
|
||||||
|
```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) or false(ish) values:
|
||||||
|
|
||||||
|
```
|
||||||
|
vals.#(b==~true)#.a >> [1,2,6,7,8]
|
||||||
|
vals.#(b==~false)#.b >> [3,4,5,9,10,11]
|
||||||
|
```
|
||||||
|
|
||||||
|
The last value which was non-existent is treated as `false`
|
||||||
|
|
||||||
### Dot vs Pipe
|
### Dot vs Pipe
|
||||||
|
|
||||||
The `.` is standard separator, but it's also possible to use a `|`.
|
The `.` is standard separator, but it's also possible to use a `|`.
|
||||||
|
|
Loading…
Reference in New Issue