Я отправляю/получаю пользовательский класс с сервера на Android, класс такой же;Android с использованием MSGPack Core и Jackson Mapper - переменная класса декодирования неизвестного типа
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. –
Я собирался предположить, что, хорошо, что вы его решили –