Необходимо преобразовать ответ json в java pojo, где ответ может возвращать {} или [{},{}]
Нужно преобразовать ответ json в java pojo, в котором поле (здесь в примерах "исполнители") может быть возвращено как {} или [{},{}] или равно нулю, как показано в примерах ниже:
example1:performer value here is a list of datas '{}'.
{
title:"Sample title1",
performers: {
performer:[{
creator: "AAAA",
linker: "XXX",
},
{
creator: "BBBBB",
linker: "YYY",
}]
},
venue_address: "sample addr1"
}
пример 2:performer value here is just data '{}'
{
title:"sample title2",
performers: {
performer: {
creator: "AAAA",
linker: "YYY",
}
},
venue_address: "sample addr2"
}
пример 3:performer value is null here
{
title:"sample title3",
performers:null,
venue_address: "sample addr3"
}
Как мы можем преобразовать этот ответ JSON в Java Pojo с помощью gson.fromJson
.Как при попытке преобразовать его в pojo, вызывая поле исполнителя как список полей выполнения, получая ошибку "Expecting an OBJECT but found is ARRAY"
1 ответ
Правильный способ сделать это,
Whether or not you have performers or not it should be an array.
JsonArray should be enclosed with []. even you have ZERO or ONE or More perfomer
Пример 2: значение исполнителя здесь просто данные '{}'
{
title:"sample title2",
performers: [{
performer: {
creator: "AAAA",
linker: "YYY",
}]
},
venue_address: "sample addr2"
}
пример 3: значение исполнителя здесь равно нулю
{
title:"sample title3",
performers:[],
venue_address: "sample addr3"
}