Commit Graph

105 Commits

Author SHA1 Message Date
Josh Baker 4a91ee1eba
Update README.md 2024-10-07 18:14:10 -07:00
tidwall 133f42ce2d Generally faster parsing
This commit includes an optimization that increases overall
performance.

The gains are roughly between 20% to 300% depending on the size
of the JSON document. Larger documents will see the greates gains,
particularly when searching for keys that are deeply embedded, or
near the end of the document.
2024-10-01 20:45:20 -07:00
tidwall 92dff34b25 Update README.md 2024-10-01 20:03:10 -07:00
tidwall c2bc5a409a dark mode logo 2024-06-02 18:12:06 -07:00
tidwall be1bb7d64a Update README.md 2023-09-22 09:54:14 -07:00
tidwall 1ff915dd81 Mention the dig modifier 2023-08-09 15:09:36 -07:00
bashery 25df3e611a uint64 2022-10-31 17:56:38 +03:00
Josh Baker f37ee93f13
Update README.md 2022-06-13 06:38:27 -07:00
Josh Baker 1abd525f6d
Update README.md 2022-02-02 04:58:31 -07:00
Josh Baker fce6fec098
Update README.md 2022-02-02 04:57:03 -07:00
tidwall 05e9ee1423 Update docs 2022-02-02 04:52:59 -07:00
Josh Baker f47e17d70a
Update README.md
Added an additional link to the SYNTAX doc. 

#261
2022-01-13 18:19:20 -07:00
tidwall 38071ea7f2 Add tostr and fromstr modifiers
For wrapping and unwrapping json strings
2022-01-13 09:15:39 -07:00
Josh Baker bd76212030
Add syntax badge 2021-11-30 10:22:50 -07:00
tidwall 8ac7a764ca Update README.md 2021-10-22 05:10:12 -07:00
tidwall 35fa0d71c8 Added @keys and @values modifiers
The "@keys" and "@values" modifiers converts an object into an
array of its keys or values respectively.

Take this json for example:

{"first":"Tom","last":"Smith"}

@keys   -> ["first","last"]
@values -> ["Tom","Smith"]

This feature was requested in #161.
2021-10-20 16:31:29 -07:00
tidwall 75046d2a7a Update comments 2021-09-01 07:33:46 -07:00
tidwall 807836a222 Minor update 2021-09-01 07:25:06 -07:00
tidwall 160fb9d6a1 Updated comments 2021-09-01 07:24:00 -07:00
Sebastian Spaink 7405f21134 Rename to indexes
Set to nil when modifiers used
2021-07-09 18:15:56 -05:00
Bas 73b86a9fc9 Support queries 2021-07-01 05:58:24 -05:00
Josh Baker f3ac38cbb5
Update README.md 2021-04-12 12:41:48 -07:00
Zhili Zhang 0301407223 Update README.md 2021-04-01 19:03:29 -07:00
Josh Baker 9e749076bf
Update README.md 2021-03-27 13:24:45 -07:00
Josh 7419d01876
Update README.md 2021-03-05 08:23:41 -07:00
Josh Baker 140bf1266f
Merge pull request #179 from ader1990/master
Fixed small readme typos
2020-11-04 15:11:47 -07:00
Josh Baker 393cb5c3a9
Update README.md 2020-11-03 11:37:58 -07:00
Adrian Vladu 2679aa886d
Fixed small readme typos 2020-07-27 18:31:55 +03:00
tidwall 0360deb6d8 Added new modifiers
`@flatten` Flattens an array with child arrays.
  [1,[2],[3,4],[5,[6,7]]] -> [1,2,3,4,5,[6,7]]
The {"deep":true} arg can be provide for deep flattening.
  [1,[2],[3,4],[5,[6,7]]] -> [1,2,3,4,5,6,7]
The original json is returned when the json is not an array.

`@join` Joins multiple objects into a single object.
  [{"first":"Tom"},{"last":"Smith"}] -> {"first","Tom","last":"Smith"}
The arg can be "true" to specify that duplicate keys should be preserved.
  [{"first":"Tom","age":37},{"age":41}] -> {"first","Tom","age":37,"age":41}
Without preserved keys:
  [{"first":"Tom","age":37},{"age":41}] -> {"first","Tom","age":41}
The original json is returned when the json is not an object.

`@valid` Ensures that the json is valid before moving on. An
empty string is returned when the json is not valid, otherwise
it returns the original json.
2020-02-10 11:13:30 -07:00
tidwall dea71f728d Mention nested queries 2019-07-12 06:46:38 -07:00
tidwall 4d138e058b Add multipath syntax 2019-06-30 12:59:56 -07:00
Josh Baker f7c1980254
Update README.md 2019-06-28 17:17:38 -07:00
Josh Baker ae482cd23d
Update README.md 2019-06-28 17:16:29 -07:00
Josh Baker 181e11634d
Code typo 2019-02-16 19:21:12 -07:00
tidwall 1ed2249f74 Added modifiers and path chaining
A modifier is a path component that performs custom processing on
the json.

Multiple paths can be "chained" together using the pipe character.
This is useful for getting results from a modified query.

See the README file for more information.
2019-02-16 18:29:39 -07:00
thirstycoda cced0fa719 Added not like operator support to query 2018-10-28 00:20:01 +01:00
Josh Baker df0b0cce42
section on json validation 2018-02-18 09:49:01 -07:00
Josh Baker 46c712f1ce
update playground badge 2018-02-10 11:31:49 -07:00
Josh Baker 54d114d487
minor updates 2018-02-10 09:30:30 -07:00
Josh Baker 6d43584b26
mention related projects 2018-02-10 09:10:40 -07:00
Josh Baker 4b8623b9d6
minor edits 2018-02-09 19:51:56 -07:00
Josh Baker 749b396bb9
Update README.md 2018-02-09 16:09:45 -07:00
Josh Baker 077965694f
changed badge color 2018-02-09 16:08:32 -07:00
Josh Baker b9953e2865
Update README.md 2018-02-09 16:04:47 -07:00
Josh Baker a2f35b522e Added support for JSON Lines
Added support for JSON Lines (http://jsonlines.org) using the `..` prefix.
Which when specified, treats the multi-lined document as an array.

For example:

```
{"name": "Gilbert", "age": 61}
{"name": "Alexa", "age": 34}
{"name": "May", "age": 57}
{"name": "Deloise", "age": 44}
```

```
..#                   >> 4
..1                   >> {"name": "Alexa", "age": 34}
..3                   >> {"name": "Deloise", "age": 44}
..#.name              >> ["Gilbert","Alexa","May","Deloise"]
..#[name="May"].age   >> 57
```

Closes #60
2018-02-09 15:42:42 -07:00
Josh Baker bff3f07fe7
mention large integer support 2018-02-08 12:21:08 -07:00
Josh Baker 09641abb33 update tagline 2017-12-22 07:16:29 -07:00
Josh Baker e62d62a3e1 match GetMany and Get results, fixes #55 2017-12-22 06:58:04 -07:00
Josh Baker ac7b6ae6f2 deprecated unmarshalling 2017-10-18 05:19:20 -07:00
Josh Baker 4e8f0c7f28 added playground link 2017-08-14 18:16:21 -07:00