2016-10-07 3 views
0

Пожалуйста, проверьте данные образца JSon:Сериализация Json смешанная структура с Джексоном

String INPUT = "{\"a\":[1,2,{\"b\":true},3],\"c\":3}"; 

Я хотел бы разобрать, что JSON с Джексоном ObjectMapper. Как вы видите, «a» - это массив, содержащий как целое число, так и объект. Как определить, что переменная в POJO использует аннотации? Заранее спасибо

ответ

1

Вы можете создавать POJO, как показано ниже, так как массив содержит различные объекты, POJO будет иметь список массив типа Object, чтобы принять любой тип -

public class JsonInput { 

      @JsonProperty("a") 
      private List<Object> a = new ArrayList<Object>(); 
      @JsonProperty("c") 
      private Integer c; 

      public List<Object> getA() { 
       return a; 
      } 

      public void setA(List<Object> a) { 
       this.a = a; 
      } 

      public Integer getC() { 
       return c; 
      } 

      public void setC(Integer c) { 
       this.c = c; 
      } 
     } 

Примечание: Вы не можете иметь дальнейшее управление объектами внутри массива ввода json для сопоставления его классу pojo до тех пор, пока он не сохранит какой-либо конкретный тип.

+0

Блестящий! благодаря –

Смежные вопросы