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:
not support load or skip according to the user-defined handler.
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.
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:
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.