我正在尝试将json-response的根映射到Java对象。这是属性列表。
通常,使用@SerializedName可以轻松完成此操作,但是在我的情况下,由于我的json响应看起来像这样,所以我无法引用“ Person”对象:
{
"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对象,而仅仅是person的属性,我如何告诉它进行改型?