Установить переменные publi c по имени (от JSON) - PullRequest
1 голос
/ 06 августа 2020

Я использую Room и Volley для получения данных из общей c веб-службы, которая возвращает только столбец и значение для каждой строки выбранной таблицы.

Дело в том, что я не хочу изменять веб-службу, чтобы она возвращала определенное c дерево данных по таблице.

Итак, имея:

{"columns": {
    "0": [{"column":"name","value":"pepe"},{"column":"age","value":20}],
    "1": [{"column":"name","value":"paco"},{"column":"age","value":23}]
}}

.. Я хочу чтобы иметь возможность соответствовать этому ответу, создавая экземпляр следующего класса, например ...

public class Person {

String name = "";
int age = 0;

}

Итак, люди делают pojo из своих ответов, чтобы использовать каждый объект с помощью gson, например ...

{"persons": {
    "person": [{"name":"pepe","age":20},{"name":"paco","age":23}]
}}
Person p = gson.fromJson(jsonString, Person.class);

Итак, я хочу иметь возможность, когда я вызываю человека таблицы в веб-службе, чтобы вернуть этот generi c json и преобразовать его в настраиваемый класс, потому что столбцы одинаковы в ответе и в самом классе .

Есть ли возможность загрузить это имя столбца, задать объекту тип данных и правильно проанализировать их в нескольких строках кода ...? ... Или мне нужно l oop de JSONObject, чтобы получить указанную c переменную для последующего построения объекта в конструкторе ...?

THX

...