Ich sende/empfange eine benutzerdefinierte Klasse von einem Server zu Android, die Klasse ist als;Android mit MSGPack Core und Jackson Mapper - dekodieren Klassenvariable unbekannten Typs
import org.msgpack.value.Value;
public class myClass {
public String status;
public Value data;
}
Das Problem ist, dass ich immer den Fehler bekomme;
com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of org.msgpack.value.Value, problem: abstract types either need to be mapped to concrete types, have custom deserializer, or be instantiated with additional type information
at [Source: [email protected]; line: -1, column: 100] (through reference chain:xxx.xxxxxxxxxx.xxx.xxxxxx.myClass["data"]
Wenn ich die Variable „Daten“ ändern sagen MAP<String, String> data
dann funktioniert es gut, jedoch ist es, Daten von einer unbekannten Art! (naja normalerweise HashMap oder ein Array vielleicht eine String, nicht irgendeine andere Klasse).
MessagePackFactory factory = new MessagePackFactory();
ObjectMapper mapper = new ObjectMapper(factory);
myClass response = mapper.readValue(inputStream, myClass.class);
Wie kann ich einen unbekannten Typ angeben?
Weil ich jetzt keine nette data.getInteger Funktion habe. –
Ich wollte vorschlagen, dass du es gut gelöst hast –