I know that most Java json libraries can pretty print by
There are endless existing questions on StackOverflow which tell you to pretty print json this way using Jackson or GSON, e.g Pretty-Print JSON in Java
However, I have found with using Jackson ObjectMapper to do this, if I have decimal value eg "10000.00" it will then parse them into either a BigDecimal or Double and then end up writing it as "10000.0" (double) or "1E+4" (BigDecimal).
What I want is a way of formatting JSON which only affects whitespace, and does not disturb the content of any values - if the input was "10000.00" the output must be "10000.00"
Does anyone know of a Java JSON library that can handle that?
Underscore-java library has static method U.formatJson(json)
. It will leave the double value as is. 12.0 will be formatted as 12.0. I am the maintainer of the project.