Bha*_*esh 22 java android gson android-studio android-json
在我的Android项目中,我有两种类型的响应,其中两个响应是相同的,除了两个键.
回应1
{"fullName":"William Sherlock Scott Holmes","address":"221B Baker Street, London, England, UK","downloads":642,"rating":3,"repos":["https://link1","https://link2","https://link3"]}
Run Code Online (Sandbox Code Playgroud)
回应2
{"name":"Sherlock","city":"London","downloads":642,"rating":3,"repos":["https://link1","https://link2","https://link3"]}
Run Code Online (Sandbox Code Playgroud)
如果您看到响应,则只有两个键名称正在更改 fullName/name和address/city
我不想再为其他响应创建一个pojo.我的问题是:是否可以只使用一个Pojo来读取这两个响应?
public class AccountInfo {
private String name;
private String city;
//other objects
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
//other setters and getters
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激...
Dou*_*son 40
您可以使用@SerializedName注释来注释成员以接受来自两个不同json名称的值:
@SerializedName(value = "name", alternate = {"fullName"})
private String name;
@SerializedName(value = "city", alternate = {"address"})
private String city;
Run Code Online (Sandbox Code Playgroud)
然后可以将命名元素放入这样注释的成员中.
更新:
@SerializedName在版本2.4中添加反序列化时的备用名称
| 归档时间: |
|
| 查看次数: |
1962 次 |
| 最近记录: |