在一个字段中反序列化具有多种类型的JSON

在一个字段中反序列化具有多种类型的JSON,第1张

在一个字段中反序列化具有多种类型的JSON

实现此目标的唯一方法是使用自定义解串器。

这是一个例子:

ObjectMapper mapper = new ObjectMapper();SimpleModule testModule = new SimpleModule("MyModule", new Version(1, 0, 0, null));testModule.addDeserializer(Response.class, new ResponseJsonDeserializer());mapper.registerModule(testModule);

这是如何编写(至少我应该如何编写)反序列化器的方法:

class ResponseJsonDeserializer extends JsonDeserializer<Response>  {  @Override  public Responsedeserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException {    Response response = new Response();    if(jp.getCurrentToken() == JsonToken.VALUE_STRING) {        response.setError(jp.getText());    } else {       // Deserialize object    }    return response;  }}class Response {   private String error;   private Object otherObject; // Use the real type of your object   public boolean isError() {      return error != null;   }   // Getters and setters}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5622940.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存