2012-05-23 3 views
-1

Какая структура Jackson POJO потребуется от этого куска json?Преобразование json в объект java с использованием Jackson

Что-то вроде? :

class POJO { 

    private List<ToAddList> toAdd; 
    private List<ToRemoveList> toRemove 

} 

class ToAddList(){ 
String name; 
int pos; 
} 

class ToRemoveList(){ 
String name 
} 


///////////////////////JSON/////////////////////////// 
    { 
     "toAdd": [ 
      { 
       "name": "test", 
       "pos": 0, 
      }, 
      { 
       "name": "test", 
       "pos": 1, 
      }, 
     ], 
     "toRemove": [ 
      { 
       "name": "test" 
      }, 
      { 
       "name": "test" 
      } 
     ] 
    } 
+1

Почему вы не попробовали сами? – adarshr

+0

Похоже на два списка одного и того же типа объекта, но объекты в списке 'toRemove' не передают атрибут' pos'. Какая у вас проблема с сопоставлением с POJO? – Perception

+0

@Перцепция Мне интересно, если я на правильном пути, ближе всего я нашел на сайте Джексона - http://wiki.fasterxml.com/JacksonInFiveMinutes - очень простой POJO –

ответ

2

У вас есть простая фаза с двумя полями, строкой и числом. Этот компонент используется в списках, которые содержатся в других компонентах:

@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) 
@JsonIgnoreProperties(ignoreUnknown = true) 
public class SimpleBean implements Serializable { 
    private String name; 
    private Integer pos; 

    // constructors, getters, setters 
} 

@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) 
@JsonIgnoreProperties(ignoreUnknown = true) 
public class RequestBean implements Serializable { 
    private List<SimpleBean> toAdd; 
    private List<SimpleBean> toRemove; 

    // constructors, getters, setters 
} 

Thats it.

+0

Cheers, почему вы реализуете Serializable? –

+1

Как правило, хорошая практика заключается в том, чтобы реализовать объекты передачи данных как сериализуемые, на всякий случай, если вам нужно отправить их через провод, используя, например, IIOP. – Perception

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