Използвам API, където предоставям входен низ и той връща някои автодовършвания на ключови думи и продуктови възли.
Целта ми е да десериализирам отговора и да получа списък с низовете за автоматично довършване, които мога да използвам. Опитвам се да внедря това в приложение за Android с библиотеката Retrofit, която използва gson.
Първо, не съм сигурен, че отговорът, който имам, е типичен JSON отговор. Елементът „възли“ има двойки ключ/стойност, но низът за въвеждане и списъкът с автодовършвания изглежда нямат ключове, които мога да използвам.
["pol",
["polaroid camera",
"polo",
"polo ralph lauren",
"polo ralph lauren men",
"polar heart rate monitor",
"polaroid",
"polo shirt",
"polar watch",
"police scanner",
"polar"],
[{
"nodes": [{
"alias": "electronics",
"name": "Electronics"
},
{
"alias": "electronics-tradein",
"name": "Electronics Trade-In"
}]
},
{
},
{
},
{
},
{
},
{
},
{
},
{
},
{
},
{
}],
[]]
Това е моят опит за десериализиране на класовете на Java за gson. Въпреки това не работи, тъй като от това, което разбирам, gson се нуждае от променливите на класа, за да съответства на JSON ключовете (вярно за клас Node, но не и останалите).
class Response {
String input;
List<String> keywords;
List<Node> nodes;
}
class Node {
String alias;
String name;
}