私はサーバーからAndroidにカスタムクラスを送受信していますが、クラスはasです。MSGPack CoreとJackson Mapperを使用しているAndroid - 不明な型のクラス変数をデコード
import org.msgpack.value.Value;
public class myClass {
public String status;
public Value data;
}
問題は常にエラーが発生することです。
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"]
私はそれが正常に動作しますMAP<String, String> data
を言うために、変数「データ」を変更する場合は、しかし、データが未知の型であります! (通常、HashMapやArrayは他のクラスではなくStringでも構いません)。
MessagePackFactory factory = new MessagePackFactory();
ObjectMapper mapper = new ObjectMapper(factory);
myClass response = mapper.readValue(inputStream, myClass.class);
どのようにして不明なタイプを指定できますか?
これでいいdata.getInteger関数がないためです。 –
私は、あなたがそれを解決したことをお勧めしたいと思っていた –