使用java的漂亮打印JSON,无需格式化值

问题描述 投票:1回答:2

我知道大多数Java json库都可以通过]打印出来>

  • 解析为通用模型,然后
  • 序列化模型。
  • [StackOverflow上存在无尽的现有问题,这些问题告诉您使用Jackson或GSON以这种方式漂亮地打印json,例如Pretty-Print JSON in Java

但是,我发现使用Jackson ObjectMapper可以做到这一点,如果我有十进制值(例如“ 10000.00”),它将解析为BigDecimal或Double,最后将其写为“ 10000.0”(double)或“ 1E + 4“(BigDecimal)。

[我想要的是格式化JSON的方法,该方法仅影响空格,并且不会干扰任何值的内容-如果输入为“ 10000.00”,则输出必须为“ 10000.00”]

有人知道可以处理该问题的Java JSON库吗?

我知道大多数Java json库都可以通过解析为通用模型然后序列化模型来进行漂亮的打印。 StackOverflow上存在无尽的现有问题,可以告诉您...

java json jackson pretty-print
2个回答
0
投票

[JSON {"value":5.0}{"value":"5.0"}之间存在差异,在第二种情况下,"5.0"值将被视为String,并且不会被修改。在第一种情况下,它将被检测为数值型并且可以修改。因此,要么要求您的JSON带有数字引号,要么在解析JSON字符串之前在代码中自行处理。另外,如果您自己从某个对象生成JSON,则如果具有


0
投票

Underscore-java库具有静态方法U.formatJson(json)。它将保留双精度值。 12.0将被格式化为12.0。我是该项目的维护者。

© www.soinside.com 2019 - 2024. All rights reserved.