So far, the main focus has been on refactoring the deserialization logic using a policy-based design , which allows users to customize the deserialization process (e.g., depth limits, field validation, handling unknown fields, etc.). A basic framework for policy-based deserialization has already been built, including:
A DefaultDeserializationPolicy with support for:
Maximum depth control
Optional field handling
Field visit tracking
Error reporting for unknown fields
Policy hooks:
onObjectBegin
onField
onObjectEnd
All stuff above are in this PR: https://github.com/schveiguy/jsoniopipe/pull/36