Я верю в умную работу вместо долгой работы.
Я предпочитаю 2-строчный код для анализа вместо написания целых вещей для анализа JSON.
Type listType = new TypeToken<List<Response>>() {}.getType();
List<Response> yourList = new Gson().fromJson(yourJson, listType);
Теперь все значения в вашем списке, используйте его где угодно:)
Google Gson - это хорошо известная библиотека для анализа json.Просто добавьте небольшую библиотеку implementation 'com.google.code.gson:gson:2.8.4'
на уровень вашего приложения build.gradle.
Вот и все, вам просто нужно создать классы pojo (или модель), которые будут содержать переменные вашего ответа.
----------------------------------- com.example.Equipment.java -----------------------------------
package com.example;
public class Equipment {
private Integer id;
private String name;
private String image;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
}
----------------------------------- com.example.Ingredient.java -----------------------------------
package com.example;
public class Ingredient {
private Integer id;
private String name;
private String image;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
}
----------------------------------- com.example.Response.java -----------------------------------
package com.example;
import java.util.List;
public class Response {
private String name;
private List<Step> steps = null;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Step> getSteps() {
return steps;
}
public void setSteps(List<Step> steps) {
this.steps = steps;
}
}
----------------------------------- com.example.Step.java-----------------------------------
package com.example;
import java.util.List;
public class Step {
private Integer number;
private String step;
private List<Ingredient> ingredients = null;
private List<Equipment> equipment = null;
public Integer getNumber() {
return number;
}
public void setNumber(Integer number) {
this.number = number;
}
public String getStep() {
return step;
}
public void setStep(String step) {
this.step = step;
}
public List<Ingredient> getIngredients() {
return ingredients;
}
public void setIngredients(List<Ingredient> ingredients) {
this.ingredients = ingredients;
}
public List<Equipment> getEquipment() {
return equipment;
}
public void setEquipment(List<Equipment> equipment) {
this.equipment = equipment;
}
}