java - jackson 漂亮的印花绳

标签 java json jackson

在某些地方,我们正在记录 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'}

如果没有成功,每个日志条目都会转换为单行。保存格式化字符串信息的正确方法是什么?

编辑 问题不在于记录器,Jackson 在没有序列化的情况下无法漂亮地打印字符串,请参阅 https://stackoverflow.com/a/39119883/1924298

最佳答案

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

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

关于java - jackson 漂亮的印花绳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39119091/

相关文章:

java notify() 不会释放循环中等待对象的锁

java - 加载文本输入文件 IntelliJ 并调试

java - Jackson:基于实现接口(interface)的对象身份序列化/反序列化

java - Dropwizard 资源错误响应

json - 如何向 json IAM 策略添加注释?

java - jackson 不反序列化子列表对象

java - RabbitMQ 消费者不监听 UN-ACKED 消息

java - 无断点测试

具有(反)序列化器和模式验证的 Python JSON REST 框架 (jsonschema/avro)

Json 架构。如何根据另一个属性值验证属性键?