Commit Graph

90 Commits

Author SHA1 Message Date
Josh Baker 635226ae42 minor format updates 2017-04-10 11:41:19 -07:00
Josh Baker 20d521de6e added emoji test 2017-04-09 19:40:55 -07:00
Josh Baker 01736e2faf inlined unicode decoding 2017-04-05 10:22:45 -07:00
Josh Baker 458c2c85b8 reorg imports 2017-04-04 10:46:00 -07:00
Josh Baker e0cd4f26a8 proper emoji decoding, fixed #23 2017-04-04 10:42:36 -07:00
Josh Baker 8f291465f6 added Exists() to the list of handy functions 2017-04-02 10:13:06 -07:00
Josh Baker e8d1a9ab93 end of path regression, fixes #21
thanks @Poorva17
2017-03-29 08:19:50 -07:00
Josh Baker 9944282cf6 updated comments 2017-03-29 08:18:26 -07:00
Josh Baker 256887a8aa Fix for invalid matching on prefixed key
Thanks to @Poorva17 for finding this issue.
Fixes #20
2017-03-28 17:04:10 -07:00
Josh Baker 09d1c5c5bc added gjson-safe comment 2017-02-05 09:10:42 -07:00
Josh Baker e3f249f4fd Missing package alias 2016-12-16 09:22:41 -07:00
Josh Baker b0e589ad0b index for iterator vals 2016-12-08 15:00:05 -07:00
Josh Baker 456225d161 key index for ForEach 2016-12-07 16:37:33 -07:00
Josh Baker c1e65a498d added ParseBytes 2016-12-02 11:59:39 -07:00
Josh Baker 1a8de7c426 add query operators 2016-12-02 11:53:14 -07:00
Josh Baker 7afd24f7a2 added != comparison operator 2016-11-30 14:38:08 -07:00
Josh Baker 90669a0cbe query matching with % 2016-11-30 14:32:17 -07:00
Josh Baker 6fd75099ef Update README.md 2016-11-30 12:04:48 -07:00
Josh Baker 62892351c5 added ForEach function 2016-11-30 10:50:59 -07:00
Josh Baker 86b1b630e4 Query array for multiple matches
It's now possible to query an array for multiple matches by adding the
'#' character immediately following the query.

For example, using the following JSON:

  {
    "friends": [
      {"first": "Dale", "last": "Murphy"},
      {"first": "Roger", "last": "Craig"},
      {"first": "Jane", "last": "Murphy"}
    ]
  }

To return the first match:

  `friends.#[last="Murphy"].first` >> "Dale"

To return all matches:

  `friends.#[last="Murphy"]#.first` >> ["Dale","Jane"]

Thanks to @chuttam for requesting this feature, closes #15.
2016-11-30 07:59:24 -07:00
Josh Baker 1303e83611 fix lead comma error 2016-11-29 18:08:02 -07:00
Josh Baker 1a15b54bbb add bookmark link for GetMany 2016-11-28 19:04:18 -07:00
Josh Baker ae5d307631 Added GetMany. Query many paths at once.
The `GetMany(json, paths...)` function can be used to get multiple
values at one time from the same json string.
This is preferrable to calling `Get(json, path)` over and over.
It's also optimized to scan over a JSON payload once.

This addresses a feature request by @FZambia, and closes #13.
2016-11-28 15:10:11 -07:00
Josh Baker 72b0cad1c1 example getting raw bytes, closes #12 2016-11-04 19:41:23 -07:00
Josh Baker ac4cd1ab55 empty arrays for non-existent values #11 2016-11-02 13:45:25 -07:00
Josh Baker 1584ec68ff Merge branch 'wI2L-master' 2016-11-02 12:45:57 -07:00
William Poussier 495633298f Modify behavior of Array() on non-array result.
Closes #10.
2016-11-02 20:20:24 +01:00
Josh Baker b95abbe94a removed obsolete field 2016-11-02 11:01:06 -07:00
Josh Baker a02d704254 added result.Uint() function resolves #9 2016-11-02 08:24:13 -07:00
Josh Baker 78babc5712 typo 2016-10-30 14:35:08 -07:00
Josh Baker bc89b871de typos 2016-10-28 10:56:10 -07:00
Josh Baker 95c6f92c50 mention GetBytes function 2016-10-28 09:07:48 -07:00
Josh Baker 5fdbb97fe1 mention jsoned 2016-10-25 22:03:43 -07:00
Josh Baker 27c108f475 fuzzing test on parse 2016-10-18 17:13:15 -07:00
Josh Baker 800ce5e927 added Index field 2016-10-17 17:39:27 -07:00
Josh Baker 2dec1c4e7b safe slices 2016-09-09 15:49:48 -07:00
Josh Baker 7c631e9868 fix out of range error 2016-09-08 09:02:40 -07:00
Josh Baker b39aa6075f bytes substring optimization 2016-09-08 08:34:01 -07:00
Josh Baker 124a25db9e added direct bytes interface 2016-09-08 08:08:53 -07:00
Josh Baker b7e578ec72 added extra test 2016-08-31 13:38:53 -07:00
Josh Baker 3e35b37021 fix subquery examples 2016-08-31 13:24:47 -07:00
Josh Baker f40fe4ac37 subquery syntax 2016-08-31 13:23:20 -07:00
Josh Baker 4d7d1a76a8 import match package 2016-08-30 07:21:20 -07:00
Josh Baker 550c66c276 added reset timer to all benchmarks 2016-08-27 06:20:43 -07:00
Josh Baker aed5ee957a updated logo 2016-08-25 20:35:55 -07:00
Josh Baker 3913125ac5 faster map unmarshalling 2016-08-25 20:17:32 -07:00
Josh Baker a6e9688393 lessen frequency of assignments in path routine 2016-08-25 10:05:03 -07:00
Josh Baker 81391efb66 minor optz 2016-08-25 09:40:50 -07:00
Josh Baker 19f9404e51 Updated logic for better ssa compilation in Go 1.7 2016-08-25 07:22:48 -07:00
Josh Baker d37f454044 wildcard match merge 2016-08-24 16:54:10 -07:00