Покажется глупым, но я не понимаю как это сделать в данном случае, чтобы из одного класса передать в другой информацию, а потом начать с ней уже работать)
Есть такой Json
{
"success": true,
"data": [
{
"id": "1",
"name": "АР Крым"
},
{
"id": "2",
"name": "Винницкая область"
},
Парсится с помощью Jackson на 2 класса, Pojo и DataPojo
@JsonIgnoreProperties(ignoreUnknown=true)public class Pojo {
public Pojo(){}
private boolean success;
private List<Pojo> data;
@JsonProperty("data")
public List<Pojo> getDataPojo() {
return data;
}
public void setDataPojo(List<Pojo> data) {
this.data = data;
}
// getters & setters
@JsonProperty("success")
public boolean isSuccessPojo() {
return success;
}
public void setSuccessPojo(boolean success) {
this.success = success;
}
public String toString() {//???
}
DataPojo
public class DataPojo {
private String id, name;
// getters & setters
public String getIdDataPojo() {
return id;
}
public void setIdDataPojo(String id) {
this.id = id;
}
public String getNameDataPojo() {
return name;
}
public void setNameDataPojo(String name) {
this.name = name;
}
public String toString() {
return this.name+this.id;//???
}
Ну и собствено хочу тут начать уже ее присваивать.
StringRequest request = new StringRequest(Request.Method.GET,regions, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d(TAG,"login response"+ response);
try {
ObjectMapper mapper=new ObjectMapper();
Pojo pojo=mapper.readValue(response,Pojo.class);
System.out.println(pojo.toString());
}catch (IOException e) {
e.printStackTrace();
}
Можно собственноручно написать метод toString в том виде, в каком вы хотите. Можно сгенерировать метод toString в среде разработки и подправить.
IDE предложит список полей класса, которые необходимо включить в toString - поправьте результат, если он вас не устроит. Я скопировал ваш класс, сгенерировал автоматически и вот что у меня получилось:
@Override
public String toString() {
return "Pojo{" +
"success=" + success +
", data=" + data +
'}';
}
Поскольку data это List, можно подправить вот так:
@Override
public String toString() {
return "Pojo{" +
"success=" + success +
", data=" + Arrays.toString(data.toArray()) +
'}';
}
Если вывести на экран это System.out.println(pojo.toString());, то получится:
Pojo{success=true, data=[..., ..., ...]}
Можете манипулировать с этим, как хотите. Ваш класс по умолчанию наследуется от класса Object, и используя аннотацию @Override вы переопределяете дефолтный метод класса, тем самым, когда вы будете вызывать toString у любого объекта этого класса, результат будет таким, какой вы сделаете.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости