Я использую 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;
}