replace default json serializer to improve readability #13185
Merged
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.
The default JSON serializer is done not in a very customizable fashion.
The default output is very naive and verbose, putting every single value on its own line, causing JSON dumps to take many many lines that make it hard to read.
E.g.:
Will now be:
To do this, we have to override the default
operator<<
that json uses. This collides with the default implementation, so we disable json's default I/O, but this has other impacts.Still, everything seems to work, but it adds many lines of code most of which are simply copies of the original.
Note we cannot override
json::dump()
.