JsonUnit
JsonUnit copied to clipboard
Pretty-printing JSON in IntelliJ diffs
Is your feature request related to a problem? Please describe. When comparing two JSON strings when a difference is found (when you click <Click to see difference> in IntelliJ), they are printed without any whitespace which can make visual inspection harder.
Describe the solution you'd like The ability to pretty-print both JSON strings for display in the IntelliJ differ would make visual comparison much easier.
Describe alternatives you've considered None
Additional context Tested on v2.38.0, Java 8.
Duplicate of https://github.com/lukas-krecan/JsonUnit/issues/44. I understand it would be a useful feature, but currently I do not have any capacity to implement it, sorry.
Hi @joshuajaharwood, I am currently looking into that. I am curious what would be your expectation, we can to the following
- Just normalize the JSONs, for example, order keys alphabetically and pretty print the JSONs. The donwside would be that the order of fields would change, is that acceptable?
- We can normalize the actual value based on expected. Instead of sorting fields alphabetically, we would make sure the order in the actual value is the same as in the expected one.
- We can put the differences to the top. Instead of sorting, we can start printing the JSON from the parts that are different. This may be useful for larger JSONs
- We can only print the parts that are different. What option would you prefer and why? Thank you
Hi @lukas-krecan, deepest apologies for the late response.
I'd probably prefer option 3 given that I have large JSON blobs I need to compare for any differences - it'd make seeing differences at a glance much easier. I wouldn't mind if the order of fields changed, I only really care about the differences between actual and expected. Having to scroll through the entire thing to see differences when you're working with hundreds of differing JSON assertions can be troublesome!
Kind regards, Josh