JSONDeserializer com classes abstratas

0 respostas
dsystem

Boa tarde pessoal tudo bem?

Estou tentando utilizar o Gson para fazer um deserializer, porém ele dá o seguinte erro:

Caused by: java.lang.RuntimeException: Unable to invoke no-args constructor for XXX.MetadadoVO<?>. Register an InstanceCreator with Gson for this type may fix this problem.
	at com.google.gson.MappedObjectConstructor.constructWithNoArgConstructor(MappedObjectConstructor.java:69)
	at com.google.gson.MappedObjectConstructor.construct(MappedObjectConstructor.java:53)
	at com.google.gson.JsonObjectDeserializationVisitor.constructTarget(JsonObjectDeserializationVisitor.java:41)
	at com.google.gson.JsonDeserializationVisitor.getTarget(JsonDeserializationVisitor.java:56)
	at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:101)
	at com.google.gson.JsonDeserializationContextDefault.fromJsonObject(JsonDeserializationContextDefault.java:73)
	at com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializationContextDefault.java:51)
	at com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter.deserialize(DefaultTypeAdapters.java:472)
	at com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter.deserialize(DefaultTypeAdapters.java:435)
	at com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExceptionWrapper.java:50)
	... 47 more
Caused by: java.lang.InstantiationException
	at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:30)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at com.google.gson.MappedObjectConstructor.constructWithNoArgConstructor(MappedObjectConstructor.java:67)
	... 56 more

Pelo que entendi, ele dá esse erro pois ele entra na minha classe MetadadoVO e essa é uma classe abstrata e ele precisa de um construtos. Minha dúvida é, em caso de classes abstratas, como faço o deserializer?

Bjs!

Criado 6 de setembro de 2012
Respostas 0
Participantes 1