2015-12-02 2 views
0
Class A { 
    String a; 
    String b; 
    String c; 
} 

Class B { 
    String a; 
    String b; 
} 

Я хочу, чтобы прочитать один JSON строку jString класса А с помощью ObjectMapper.readValue (jString, B.class), мог бы я пройти некоторый параметр, который помог бы мне также прочитать c, но в какой-то другой структуре?Чтение дополнительного поля из строки JSON с использованием объектом картографа

Я использую org.codehaus.jackson.map.ObjectMapper.

ответ

0

Ну, честно говоря, это не будет работать с ObjectMapper.

Если вы сделаете это,

ObjectMapper.readValue (jString, B.class), 
  1. так, библиотека всегда разбора VALES из JSon строки и присвоить его B, с помощью добытчика B и присваивателя.
  2. Если вы пытаетесь вытолкнуть так же, как несуществующую часть объекта, это создаст для вас ошибочные вещи.

Лучше сначала подготовить такой тип объекта, а затем сделать это.

0

Если вы собираетесь создавать экземпляры как класса A, так и класса B, вы можете дважды прочитать json для создания экземпляров. Преобразование для B будет игнорировать свойство c.

A a = mapper.readValue(jString, A.class); 
B b = mapper.readValue(jString, B.class); 
Смежные вопросы