簡體   English   中英

傑克遜漂亮的印花繩子

[英]Jackson pretty print string

在某些地方,我們正在記錄JSON字符串。 為了提高可讀性,我們希望漂亮地打印它們。 因此,我們正在使用:

v_JsonString = v_ObjectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(v_Json);

但是在將結果傳遞給記錄器之后,字符串僅是一行,換行符等都消失了。 使用的日志記錄模式是:

<pattern>%d{HH:mm:ss.SSS} %-5level %logger{35} - %msg%n</pattern>

我們還嘗試通過設置一些占位符並將其替換為模式來手動完成此操作:

%replace(%msg){'PLACEHOLDER', '\\n'}

沒有任何成功,每個日志條目都將轉換為單行。 保留格式化的字符串信息的正確方法是什么?

編輯問題不是記錄器,傑克遜在沒有序列化的情況下無法打印字符串,請參閱https://stackoverflow.com/a/39119883/1924298

問題已經解決了。 問題不在於記錄器/設置。 真正的原因在這里描述: https : //stackoverflow.com/a/20871355/1924298

編輯

嘗試使用“對象”類型時,由於出現序列化錯誤而無法解決問題。 我將編輯原始問題。

Object json = mapper.readValue(input, Object.class);

String indented = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(json);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM