[英]pretty print JSON using java, without formatting the values
我知道大多數 Java json 庫都可以通過
StackOverflow 上有無數現有的問題,它們告訴您使用 Jackson 或 GSON 以這種方式漂亮地打印 json,例如Java 中的 Pretty-Print JSON
但是,我發現使用 Jackson ObjectMapper 來執行此操作,如果我有十進制值,例如“10000.00”,它會將它們解析為 BigDecimal 或 Double,然后最終將其寫為“10000.0”(雙精度)或“1E+” 4"(大十進制)。
我想要的是一種格式化 JSON 的方法,它只影響空格,並且不會干擾任何值的內容 - 如果輸入是“10000.00”,則輸出必須是“10000.00”
有誰知道可以處理的 Java JSON 庫?
U.formatJson(json)
-java庫有靜態方法U.formatJson(json)
。 它將保持雙精度值不變。 12.0 將被格式化為 12.0。 我是項目的維護者。
JSONs {"value":5.0}
和{"value":"5.0"}
之間存在差異,在第二種情況下, "5.0"
值將被視為String
並且不會被修改。 在第一種情況下,它會被檢測為數值並且可能會被修改。 因此,要么要求您的 JSON 引用數值,要么在解析 JSON 字符串之前在您的代碼中自行完成。 此外,如果您自己從某個對象生成 JSON,那么如果您有
private Double myValue;
有吸氣劑
@JsonIgnore
Double getMyValue() {
return myValue;
}
並添加另一個吸氣劑
@JsonProperty(name="myValue")
String getMyValueStr() {
return myValue.toString();
}
所有注釋均針對 Jason-Jackson。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.