我正在开发一个应用程序,我想将来自数据API的字符串对象转换为json对象。现在,我将字符串对象转换为json,但出现了一个问题。我的pojo类有多个字段,其中一个字段是“filterName”,它看起来像
@SerializedName(value="cellFilter", alternate="tissueFilter")
private String filterName;
它所做的是提取与“cellFilter”和“tissueFilter”关联的值。我不确定使用相同字段收回数据是否是一种优化的方式。此外,我想使用相同字段检索另一个值,但我不知道如何进行(即我想使用filterName获取tissueFilter、cellFilter和applicationFilter的值)。
数据对象如下所示注-tissueFilter,cellFilter和applicationFilter有3个字符串,它们来自数据API将它们转换为java对象后,它们如下所示:
组织过滤器
{
"url": "xyz",
"sortOrder": 8,
"imageId": "1111",
"tissueFilter": "Heart"
}
单元格筛选器
{
"url": "xyz",
"sortOrder": 6,
"imageId": "2222",
"cellFilter": "Pancreas"
}
和应用程序筛选器
{
"applicationFilter": "c56",
"url": "xyz",
"sortOrder": 1,
"imageId": "3333",
}
谢谢你
1条答案
按热度按时间eoigrqb61#
如果使用JacksonJSON库对JSON数据进行序列化/反序列化,则应使用
@JsonAlias
注解对可能具有不同名称的字段进行反序列化:在对上述JSON片段进行反序列化之后,应将字段
filter
设置为定义为"applicationFilter"
的适当值,等等。但是,似乎在问题中使用了Gson,并且它的
@SerializedName
也允许在alternate
参数中有多个版本: