我想使用Retrofit和Gson來解析JSON,但我需要將一個JSONfield 的值映射到bean類中的多個JAVA字段。如何使用GSON將單個JSON字段映射到多個JAVA字段?
下面是一個例子代碼:
class A{
@SerializedName("name");
private String name;
@SerializedName("name");
private String fullName;
}
這是我看到的錯誤:A類聲明瞭一個名爲名稱的多個JSON領域。有沒有辦法做到這一點?
更新:請避免建議從bean中刪除一個字段或對getter和setter進行更改。該項目非常龐大,後來在其他許多案例中,該領域正在使用,所以我不想混淆這個結構。這個問題非常清楚並且重要。
您可以提供JSON響應例如 –
您可以自定義GSON解串器實現這一點:http://www.javacreed.com/gson-deserialiser-example/ 但你的問題聽起來不可思議。正如我猜想有其他的方式來做你所需要的,而不是映射一個json提交給多個java領域。 也許是這樣的: ' @SerializedName(「name」) private String name; public String getName(){ return name; } 公共字符串getFullName(){ 回報名 } ' – krossovochkin
或者,如果你想單獨制定者,那麼你可以有這樣的: ' 公共字符串getFullName(){ 回報TextUtils.isEmpty(全名)?名稱:fullName; } ' – krossovochkin