У меня есть некоторые нечетные JSON как:Gson десериализации JSON массив с несколькими типами объектов
[
{
"type":"0",
"value":"my string"
},
{
"type":"1",
"value":42
},
{
"type":"2",
"value": {
}
}
]
Основываясь на некотором поле, объект в массиве определенного типа. Использование Gson, я думаю, должен иметь TypeAdapterFactory, который отправляет адаптеры делегатов для этих определенных типов в TypeAdapter, но я повесил трубку на понимание хорошего способа чтения этого поля типа, чтобы узнать, какой тип создать. В TypeAdapter,
Object read(JsonReader in) throws IOException {
String type = in.nextString();
switch (type) {
// delegate to creating certain types.
}
}
бы предположить поле "тип" приходит первым в моем формате JSON. Есть ли достойный способ снять это предположение?
Спасибо Джейку за то, что вы сделали код лучше. –
Да, хороший пример тоже! –