bytedance / bytedance/sonic-cpp
Proposal: more abstracted SAX handler for lots of JSON manipulates
Open
good first issue
proposal
- Dominant language
- C++
- Stars
- 976
- Forks
- 127
- PR merge metrics
- No merged PRs in 30d
Description
SAX handler is necessary because it consumes less memory and has fast performance. especially based on SIMD skip. Now, sonic-cpp's handler is designed to parse the whole json, and lazysax is limited to only parsing the top level of json. There are many limits:
1. not support load or skip according to the user-defined handler.
2. can not check json type in sax.
We can add SkipOne(raw json), CheckOne(type) and other handler functions, to support lots of JSON manipulates, such as, merge json, cut json, and so on.
Contributor guide
Assessment
This issue has not been assessed yet.