I send / receive a custom class from a server on Android, the class is like this:
import org.msgpack.value.Value; public class myClass { public String status; public Value data; }
The problem is that I always get an error;
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: java.io.BufferedInputStream@f478759 ; line: -1, column: 100] (through reference chain:xxx.xxxxxxxxxx.xxx.xxxxxx.myClass["data"]
If I change the data variable to say MAP<String, String> data , then it works fine, however the data is of an unknown type! (well, usually a HashMap or Array, possibly a String, not some other class).
MessagePackFactory factory = new MessagePackFactory(); ObjectMapper mapper = new ObjectMapper(factory); myClass response = mapper.readValue(inputStream, myClass.class);
How to specify an unknown type?
source share