java Jackson ObjectMapper处理JSON和非JSON输入
TL;博士
当输入有时是序列化的JSON,有时是非JSON字符串时,如何让Jackson的ObjectMapper
用于反序列化对象
细节
我是一个Java/Jackson noob,一整天都在用头撞这个
我在一个系统中工作,该系统使用ObjectMapper来反序列化输入。我对杰克逊的注释很熟悉,可以让它发挥作用。输入是序列化JSON时没有问题
问题是我得到了各种输入,其中一些不是序列化的JSON。我已经看到了与多态反序列化相关的答案,其中序列化的JSON可能有多种形式。这并没有解决如何处理根本不是序列化JSON的输入的问题
我尝试使用@JsonDeserialize
指定扩展StdDeserializer
和JsonDeserializer
的自定义反序列化程序。这两种情况下的问题都是传递到deserialize
或deserializeWithType
方法的JsonParser
在到达我的代码之前处理输入字符串,因此在非JSON输入的情况下,结果是JsonParseException
那么,有没有办法解决这个问题?我正在一个更大的系统中工作,这个系统期望ObjectMapper
来完成这项工作,如果可能的话,我不想改变系统的这一方面
共 (0) 个答案