Я создаю приложение для Android для управления конфигурацией бармена, работающего с RPI
Я хочу показать все текущие напитки и их ингредиенты в виде списка.
Вот ответ Json, который я получаю с сервера:
[
{
"name":"Rum & Coke",
"ingredients":{
"rum":50,
"coke":150
}
},
{
"name":"Gin & Tonic",
"ingredients":{
"tonic":10,
"gin":10
}
},
{
"name":"Long Island",
"ingredients":{
"tequila":15,
"oj":30,
"rum":15,
"vodka":15,
"coke":100,
"gin":15
}
},
{
"name":"Screwdriver",
"ingredients":{
"vodka":50,
"oj":150
}
},
{
"name":"Margarita",
"ingredients":{
"mmix":150,
"tequila":50
}
},
{
"name":"Gin & Juice",
"ingredients":{
"oj":150,
"gin":50
}
},
{
"name":"Tequila Sunrise",
"ingredients":{
"tequila":50,
"oj":150
}
}
]
А вот класс Drink.1008 *
public class Drink {
@SerializedName("name")
private String name;
@SerializedName("ingredients")
private Map<String, Integer> ingredients;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Map<String, Integer> getIngredients() {
return ingredients;
}
public void setIngredients(Map<String, Integer> ingredients) {
this.ingredients = ingredients;
}
}
Прямо сейчас я могу показатьназвание напитка в списке и только второе значение карты с этим оператором for
Drink d = drinksArrayList.get(position);
System.out.println(d.getIngredients().size());
for (Map.Entry<String, Integer> ingredient : d.getIngredients().entrySet()) {
holder.ingredient0.setText(ingredient.getKey());
holder.ingredient1.setText(Integer.toString(ingredient.getValue()));
}
Этот оператор for выводит кокс 150 на экран в случае рома и кокса.
Кто-нибудь понял, как правильно сериализовать этот Json и распечатать его в виде списка?