2016-03-20 6 views
1

Я нашел JETTISON водитель для удовлетворения моих потребностей.Любой конвертер JSON to Object, который имеет псевдоним для нескольких классов?

Но по какой-то причине при использовании ArrayList он работает в моем локальном тестировании, но не при развертывании на моем сервере jboss. (Я задам этот вопрос как другой вопрос)

Есть ли другие? Я уже пробовал с GSON и Jackson, но не помогает.

Это структура, что мне нужно:

class A 
{ 
    List<A> memberList; 
} 

class B extends A 

class C,D extends class A 

У меня есть объект класса B, который содержит экземпляры класса C & D.

Если я использую GSON или Джексон, когда объект класса B преобразуется в JSON, он теряет тип класса C & D. Следовательно, когда я преобразовываю его обратно в объект, я не могу найти, содержит ли список элементов список объектов типа C или D.

Пожалуйста, помогите !

ответ

1

Я нашел способ использования джексона. очень хорошее объяснение here

В принципе, для приведенного выше примера, я должен буду предоставить для обозначения класса А следующим образом:

import com.fasterxml.jackson.annotation.JsonSubTypes; 
import com.fasterxml.jackson.annotation.JsonSubTypes.Type; 
import com.fasterxml.jackson.annotation.JsonTypeInfo; 
import com.fasterxml.jackson.annotation.JsonTypeInfo.Id; 

@JsonTypeInfo(use = Id.CLASS, 
       include = JsonTypeInfo.As.PROPERTY, 
       property = "type") 
@JsonSubTypes({ 
    @Type(value = C.class), 
    @Type(value = D.class), 
    }) 

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

  • Нет связанных вопросов^_^