Jackson ObjectMapper处理JSON和非JSON输入

TL; DR

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

详细信息

我是Java / Jackson的新手,整天都为此而烦恼。

我正在使用用户ObjectMapper反序列化输入的系统的环境中工作。我对Jackson的注释很熟悉,可以使它起作用。当输入是序列化的JSON时没有问题。

问题是正在为我提供各种输入,其中一些未序列化JSON。我已经看到了与多态反序列化有关的答案,其中序列化的JSON可能以多种形式之一出现。那根本解决不了如何处理未序列化JSON的输入的问题。

我尝试使用@JsonDeserialize指定扩展StdDeserializerJsonDeserializer的自定义解串器。两种情况下的问题都是,传递到JsonParserdeserialize方法中的deserializeWithType在到达我的代码之前会处理输入字符串,因此对于非JSON输入,结果是JsonParseException

那么,有没有办法解决这个问题?我正在一个较大的系统中工作,希望ObjectMapper可以完成工作,并且在可能的情况下,我不希望更改系统的这一方面。

style221 回答:Jackson ObjectMapper处理JSON和非JSON输入

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3091689.html

大家都在问