Я пытаюсь отобразить корень моего json-ответа на объект Java.Это список атрибутов.
Обычно это легко сделать с помощью @SerializedName, но в моем случае я не могу сослаться на мой объект "Person", поскольку мой ответ json выглядит следующим образом:
{
"name": "Peter",
"height": 10,
"id": 2,
"is_default": true
}
Я знаю, что мог бы вручную получить каждый атрибут с помощью @SerializedName, а затем создать свой собственный объект, подобный этому:
public class PersonResponse {
@SerializedName("name")
String name;
@SerializedName("height")
int height;
@SerializedName("id")
int id;
@SerializedName("is_default")
boolean is_default;
public Person getPerson() {
return new Person(name, height,id,is_default);
}
}
Но есть ли другой способ, где я могу сделать это автоматически?
РЕДАКТИРОВАТЬ для уточнения:
Если бы у меня был следующий JSON:
{
"person": {
"name": "Peter",
"height": 10,
"id": 2,
"is_default": true
}
}
Я мог бы просто сделать следующее в своем ответе:
@SerializedName("person")
Person person;
И он автоматически сопоставит все корневые атрибуты с полями в моем классе Person.Однако, поскольку корнем моего JSON является не объект Person, а просто атрибуты человека, как я могу сказать это для модернизации?