Commit Graph

84 Commits

Author SHA1 Message Date
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 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 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 800ce5e927 added Index field 2016-10-17 17:39:27 -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 550c66c276 added reset timer to all benchmarks 2016-08-27 06:20:43 -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 0669befdc3 fixed typo in example 2016-08-24 08:06:20 -07:00
Josh Baker b661f333a3 Update README.md 2016-08-22 06:13:09 -07:00
Josh Baker ad7311075f Update README.md 2016-08-22 06:11:47 -07:00
Josh Baker cd422a3e10 Removed Multi. Added Parse and result.Get funcs
The Multi field was too bulky. fixes #4
Added a Parse(json) function that will do a simple parse of json.
Added a result.Get(path) function that returns a child result.
Added Bool(), Int(), and Float() to result type. fixes #5
2016-08-22 06:05:51 -07:00
Josh Baker e42a0961e6 added go tag to codeblock 2016-08-21 10:56:31 -07:00
Josh Baker 360ac81635 additional example 2016-08-21 09:56:42 -07:00
Josh Baker d498de1770 Update README.md 2016-08-21 07:30:33 -07:00
Josh Baker 0757a4d1e7 get nested array values, fixes #4
To get all the friends last names use:

"friends.#.last"

{
  "friends": [
    {"first": "James", "last": "Murphy"},
    {"first": "Roger", "last": "Craig"}
  ]
}
2016-08-21 06:57:13 -07:00
Josh Baker 0e6e567424 optimistic optimizations 2016-08-19 11:22:59 -07:00
Josh Baker e865d89fc7 explain Exists() function 2016-08-12 16:26:06 -07:00
Josh Baker 725f3caa55 exists function 2016-08-12 08:39:08 -07:00
Andrew Murray 9595c3a8fe Fixed typos 2016-08-13 00:22:09 +10:00
Josh Baker 57e7f71ee6 escape character in path 2016-08-11 19:16:21 -07:00
Josh Baker 06af1af34e fixed benchmark bug with jsonparser
Big thanks to dlsspy for pointing this out.
2016-08-11 18:15:15 -07:00
Kenny Grant af28028c01 Fix 'does not validate' wording in readme 2016-08-11 22:05:25 +01:00
Josh Baker 9a63765fe5 added jsonparser benchmark 2016-08-11 10:53:50 -07:00
Josh Baker a4005bcf0f added stack frame. faster 2016-08-11 10:39:38 -07:00
Josh Baker f4afb106da first commit 2016-08-11 07:50:34 -07:00