Yi Duan
c381c8b679
feat: add API MarshalString() ( #197 )
2022-03-01 15:09:09 +08:00
Yi Duan
b66168fa77
feat:(decoder) add option CopyString() ( #192 )
...
* feat: add option `CopyString()`
* test: diff copy and nocopy decoding bench
* doc: update README.md
* opt: use global link for `escape_string()`
* feat: copy JSON on `Unmarshal()`
* test: add norace test
* fix: nocopy field key
* test: add generic test
* fix: remove useless instruction
2022-02-28 18:46:25 +08:00
liu
7475b256ce
support JSON validate ( #189 )
...
* fix: check unescaped control chars in decode
* feat: add utf8 validate func
* feat: validate utf8 in json string
* feat: add validateone api
* fix: check unicode pointer for surrogate
* clang12 compile
* feat: Import `Valid()` and `Skip()`
* opt: use looktable
* fix utf-8 validate performance problem
* fix: utf-8 validate bug
* clang12 build
* feat: (encoder) accelerate validating json from `json.Marshaler`
chore!:
- `encoder.NoCompactMarshaler`changes to `encoder.CompactMarshaler`, which means compacting operation is not open by default
* fix: only one json value is `Valid()`
Co-authored-by: liuqiang <liuqiang.06@bytedance.com>
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2022-02-21 16:35:53 +08:00
Yi Duan
3dde76677e
doc: update benchmarks and dependency repos ( #180 )
...
* doc: update benchmarks and dependency repos
* doc: add 'Optimization Options' on README
* fix some possible typos
Co-authored-by: liuqiang <liuqiang.06@bytedance.com>
2022-01-25 15:09:01 +08:00
Yi Duan
f8efc2f6e7
Update README.md ( #173 )
2022-01-18 14:27:19 +08:00
Yi Duan
7d3b22100f
feat: SyntaxError.Error() always calls Description() ( #152 )
...
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-12-09 13:11:31 +08:00
liu
3f2bab552b
doc: update readme ( #143 )
...
* doc: update readme
* test: add SetOne_XX() benchmarks
* doc: update bechmark charts
* doc: fix possible typos
Co-authored-by: liuqiang <liuqiang.06@bytedance.com>
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-12-01 18:03:19 +08:00
Yi Duan
43e4a00e90
fix: add gc_write_barrier checks ( #131 )
...
* fix: add gcWriteBarrier for decode
* add gcWriteBarrier for encoder
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-11-17 11:21:20 +08:00
Yi Duan
a577eafc25
refactor: make it more readable ( #104 )
...
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-09-18 11:31:25 +08:00
Yi Duan
1f13d31b5a
chore!: return error for scanning API ( #81 )
...
* chore!: return error for cast API
BREAKING CHANGE:
- Set()/Unset()/SetByIndex()/UnsetByIndex/Add()
- Raw()/Bool()/Int64()/Float64()/Number()/Len()/Cap()
- Values()/Properties()/Map()/Array()/Interface()
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-08-30 17:14:38 +08:00
Yi Duan
6aec2f3722
feat(ast): Node supports MarshalJson() ( #84 )
...
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-08-27 18:28:56 +08:00
Yi Duan
dd73e36cf4
doc: update readme on Pretouch ( #70 )
2021-08-11 17:35:23 +08:00
duanyi.aster
12dd7fb4a6
doc: print syntax error
2021-07-08 19:12:23 +08:00
duanyi.aster
91e58904fe
doc update benchmarks on README.md
2021-07-03 00:29:52 +08:00
Yi Duan
8fe152d152
doc: update README.md ( #31 )
...
Co-authored-by: Oxygen <chenzhuoyu@users.noreply.github.com>
2021-06-28 12:25:11 +08:00
Yi Duan
936cee0d3f
test: benchmark with github.com/goccy/go-json ( #23 )
...
chore: add benchmark result with go-json
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-06-22 16:30:04 +08:00
chenzhuoyu
b2fbad7b4c
feat: rewrite generic decoder in Go, using Finite State Machine
2021-06-16 23:05:21 +08:00
Yi Duan
accee2e689
feat: support UseNumber for ast ( #14 )
...
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-06-09 15:58:27 +08:00
AsterDY
4447cc41a7
Feature/readme ( #12 )
...
chore: update readme
Co-authored-by: duanyi.aster <duanyi.aster@bytedance.com>
2021-06-08 11:39:02 +08:00
chenzhuoyu
fbe0828190
chore: make it open-source
2021-05-28 23:58:58 +08:00
Pure White
1e1b9587a7
Initial commit
2021-05-25 11:52:52 +08:00