Consider omitempty #79
                
     Open
            
            
          
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Hello!
I just came across this library, and thought it would be a good one to do my first OSS contribution. 🙂
This proposal aims to implement the issue #2. I alter a little bit the internals, and simplified some things on the user end as well.
Below, I have posted a code example + the output
Output:
[ { "op": "replace", "path": "/name", "value": "Jhon" }, { "op": "remove", "path": "/age" }, { "op": "replace", "path": "/complex/string", "value": "" }, { "op": "remove", "path": "/complex/boolean" }, { "op": "replace", "path": "/complex/float", "value": 0 }, { "op": "replace", "path": "/complex/uint", "value": 0 }, { "op": "replace", "path": "/complex/int", "value": 0 }, { "op": "remove", "path": "/complex/slice/0" }, { "op": "remove", "path": "/complex/map/a" } ]Also works with you flag the struct
[ { "op": "replace", "path": "/name", "value": "Jhon" }, { "op": "replace", "path": "/age", "value": 0 }, { "op": "remove", "path": "/complex" } ]