Josh Baker
181e11634d
Code typo
2019-02-16 19:21:12 -07:00
tidwall
eee0b6226f
Fixed chained array result
2019-02-16 19:06:55 -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
tidwall
5d7556ad3d
Valid json optimization
...
Added ~20% performance boost be removing extra allocation when
Valid() is called with a json string.
2019-02-16 14:50:53 -07:00
tidwall
5a96cfda70
Added GopherJS support
2019-01-14 08:40:04 -07:00
Josh Baker
081192fa2e
Merge pull request #98 from thirstycoda/master
...
Added not like operator support to query
2018-10-28 08:46:04 -07:00
Josh Baker
1bd06b6ad9
Merge pull request #97 from dustinblackman/fix/getmanybytes
...
Fix GetManyBytes to use byte related methods
2018-10-28 08:42:31 -07:00
thirstycoda
cced0fa719
Added not like operator support to query
2018-10-28 00:20:01 +01:00
Dustin Blackman
4c7d6ff4a9
fix GetManyBytes to use byte related methods
2018-10-25 16:34:28 -04:00
tidwall
1e3f6aeaa5
Fix leftover array and map values
...
fixes #81
2018-08-02 08:58:17 -07:00
Josh Baker
f92dbfc6b2
Fix different reuslts on duplicate keys
...
fixes #79
2018-07-30 14:44:31 -07:00
Josh Baker
ba784d767a
Fix string output for large integers
...
This fix makes calling String() on a JSON Number return the original value
as it was represented in the JSON document for signed and unsigned integers.
This ensures that very big (plus-53bit) integers are correctly returned.
Floating points maintain their previous behavior [-+]?[0-9]*\.?[0-9]*.
closes #74
2018-07-10 18:10:33 -07:00
Josh Baker
f123b34087
Add appengine support
2018-06-21 11:09:58 -07:00
Josh Baker
afaeb95620
Fix false validation
...
closes #73
2018-06-13 11:46:59 -07:00
Josh Baker
3cd3a11923
Merge pull request #71 from speier/master
...
valid bytes method
2018-04-29 08:13:28 -07:00
speier
3a977634eb
valid bytes method
2018-04-27 15:54:16 +02:00
Josh Baker
9ed3f8e1a5
Merge pull request #67 from bcho/patch-1
...
Add `arrayOrMap` result description
2018-03-01 11:15:57 -07:00
hbc
93d61e6369
Add `arrayOrMap` result description
...
Explain `Result.Value` will return array and map when possible.
2018-02-28 11:21:22 +08:00
Josh Baker
01f00f1296
Merge pull request #66 from Hexilee/master
...
Result.Bool() can parse 'false' as false
2018-02-23 08:48:56 -07:00
Hexilee
9fa9086994
Result.Bool() can parse 'false' as false
2018-02-23 20:25:48 +08:00
Josh Baker
aff9dcea3c
uncomment function
2018-02-18 10:09:03 -07:00
Josh Baker
c2e370e1b3
comment on Valid
2018-02-18 10:05:23 -07: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
5fe9078c47
mention large integer support
2018-02-08 12:21:27 -07:00
Josh Baker
bff3f07fe7
mention large integer support
2018-02-08 12:21:08 -07:00
Josh Baker
87033efcae
array query mismatch, fixes #58
2018-01-23 05:45:05 -07:00
Josh Baker
5cd723d566
simplify getmanybytes
2017-12-22 07:19:48 -07:00
Josh Baker
62ee2064df
remove commented line
2017-12-22 07:17:19 -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
080cd22816
fix mysterious missing result
...
fixes #54
2017-12-13 16:29:27 -07:00
Josh Baker
182ad76050
Array() from null becomes zero length Go array
...
fixes #53
2017-12-01 14:13:24 -07:00
Josh Baker
67e2a63ac7
Merge branch 'erikjohnston-fix-raw-false'
2017-11-20 11:50:05 -07:00
Erik Johnston
922b012d22
Fix bug where Result.Raw of literal 'false' was 'f'
2017-11-20 17:59:58 +00:00
Josh Baker
ac7b6ae6f2
deprecated unmarshalling
2017-10-18 05:19:20 -07:00
Josh Baker
5a69e67cfd
GetMany result value missing, fixes #48
2017-09-25 04:39:06 -07:00
Josh Baker
3c91814cf6
GetMany result incorrect, fixes #47
2017-09-25 04:37:57 -07:00
Josh Baker
be96719f99
incomplete surrogate codepoints, fixes #38
2017-08-30 10:08:10 -07:00
Josh Baker
4e8f0c7f28
added playground link
2017-08-14 18:16:21 -07:00
Josh Baker
ccc7f39b3a
added IsObject IsArray helper functions
2017-08-14 08:23:21 -07:00
Josh Baker
6daf3373dc
Moved benchmark code
...
Moved benchmark to a different repository to avoid the fetching of
unneeded imports. Please find these benchmarks at
https://github.com/tidwall/gjson-benchmarks
2017-08-14 08:21:16 -07:00
Josh Baker
c784c41781
Allow parsing of large integers
...
This commit fixes an issue in which GJSON was not representing integers
correctly that were greater than 53-bits when calling the result.Int()
and result.Uint() functions. This happened because GJSON stored all
numbers as float64s in the result.Num field, and Int()/Uint() would
simply try to convert the float64 to int64/uint64 by issuing
int64(result.Num) or uint64(result.Num) operations.
Now rather than a simple cast, GJSON checks to see if the float64 is a
whole integer and if the integer can fit within 53-bits. If so, then
the cast method can be used. Otherwise GJSON attempts to parse the
result.Raw directly. If that fails too, it falls back to the original
method.
This fix should maintain compatibility with existing applications.
thanks @joelpresence for reporting
fixes #29
2017-05-25 19:39:18 -07:00