如何在 Jackson 中记录 JSON 反序列化

Posted

技术标签:

【中文标题】如何在 Jackson 中记录 JSON 反序列化【英文标题】:How to log JSON deserialization in Jackson 【发布时间】:2014-10-14 08:37:24 【问题描述】:

我有一段代码从输入流中读取 JSON 数据并将其转换为 POJO(使用 Jackson)。有时,数据将无法反序列化,并且很难进行故障排除。在 log4j 中查看逐行输入流的好机制是什么?是否有其他工具/技术可以帮助进行故障排除?

【问题讨论】:

涉及一些代码?输入流是文件?网页? 输入流是 S3 存储桶,但这不相关,因为它可能是未来的任何东西。 任何相关的代码?在java中可能是Decorator模式可以帮你cs.sjsu.edu/~pearce/modules/cases/uw/decorator.htm 您从杰克逊那里得到的例外是什么?你在记录吗? 【参考方案1】:

Apache Commons IOUtils 会将您的输入流转换为字符串,然后您可以将其传递给 log4j。

String theString = IOUtils.toString(inputStream, encoding);

【讨论】:

以上是关于如何在 Jackson 中记录 JSON 反序列化的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Jackson 反序列化来自 json 对象的对象数组

如何使用 Jackson json 注释枚举字段以进行反序列化

如何忽略像“car”这样的空 json 对象:,这会在使用 jackson 反序列化后导致空 pojos

spring/jackson:实现对保存JSON字符串的字段自动序列化和反序列化

如何使用 Jackson 将原始 JSON 反序列化为 Java 对象

如何根据json中的属性编写jackson反序列化器