Add the option to write the results to a JSON file #52
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.
JSON has wider support than XML across programming languages, so I believe having the option to write the findings in a JSON format make Duplo more versatile, since its output can be consumed by many more tools.
I chose to support JSON by adding a dependancy to the nlohmann/json header-only library, which handles escaping of the lines correctly.
This has the drawback that we keep all the findings in memory (in a
jsonobject) instead of writing them directly to the output file.If this is considered a deal-breaker, we can re-implement all the escaping of the lines ourselves, as is done for XML, and write directly to the output file.