我使用Google Room Persistence Library来保存数据库中的数据。在Room中有一个注释(@Embedded):
您可以使用@Embedded批注来表示您希望分解到表格中的子字段的对象。然后,您可以像查看其他单个列一样查询嵌入字段
@Entity
public class MyObject {
// nested class
public class GeneralInfo {
public String ownerName;
@PrimaryKey
public long wellId;
}
@Embedded
public GeneralInfo generalInfo;
public long objectId;
// other fields
}
我使用Gson从REST API反序列化json字符串,我希望Gson直接将GeneralInfo
字段反序列化为MyObject
字段。我怎样才能做到这一点?
我希望Gson像这样反序列MyObject
:
{
objectId : 1
wellId : 1
ownerName : "Me"
}
不这个
{
generalInfo : {
wellId : 1
ownerName : "Me"
}
objectId : 1
}
除了使用JsonAdapter
之外还有其他方法吗?我可以编写自己的convertToJson
和convertFromJson
,但我想使用Gson,最好使用注释告诉Gson"不要将此embeddede对象反序列化为jsonObject,将其字段插入其父json字段"