有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Jackson ObjectMapper处理JSON和非JSON输入

TL;博士

当输入有时是序列化的JSON,有时是非JSON字符串时,如何让Jackson的ObjectMapper用于反序列化对象

细节

我是一个Java/Jackson noob,一整天都在用头撞这个

我在一个系统中工作,该系统使用ObjectMapper来反序列化输入。我对杰克逊的注释很熟悉,可以让它发挥作用。输入是序列化JSON时没有问题

问题是我得到了各种输入,其中一些不是序列化的JSON。我已经看到了与多态反序列化相关的答案,其中序列化的JSON可能有多种形式。这并没有解决如何处理根本不是序列化JSON的输入的问题

我尝试使用@JsonDeserialize指定扩展StdDeserializerJsonDeserializer的自定义反序列化程序。这两种情况下的问题都是传递到deserializedeserializeWithType方法的JsonParser在到达我的代码之前处理输入字符串,因此在非JSON输入的情况下,结果是JsonParseException

那么,有没有办法解决这个问题?我正在一个更大的系统中工作,这个系统期望ObjectMapper来完成这项工作,如果可能的话,我不想改变系统的这一方面


共 (0) 个答案