[英]Retrofit, nested JSON object as collection
假設我有一個JSON:
{
"age" : 26,
"email" : "norman@futurestud.io",
"isDeveloper" : true,
"name" : "Norman",
"userAddress" : {
"city" : "Magdeburg",
"country" : "Germany",
"houseNumber" : "42A",
"street" : "Main Street"
}
}
我正在使用Retrofit和jsonschema2pojo。 對於userAdress,它將生成一個具有四個字段的類。 是否可以將userAddress內容存儲為兩個String的HashMap而不是單獨的類?
使用Gson JSON轉換器庫。
創建一個Java類(如果已經創建,請使用相同的類)。 (出於測試目的,我創建了一個名為User
的類)
import com.google.gson.annotations.SerializedName;
import java.util.Map;
public class User {
@SerializedName("age")
private int age;
@SerializedName("email")
private String email;
@SerializedName("isDeveloper")
private boolean isDeveloper;
@SerializedName("name")
private String name;
@SerializedName("userAddress")
private Map<String, String> userAddress;
// other member variables if any
// constructors if any
// getter and setter methods
}
如果要手動將JSON轉換為POJO,這是上述類的示例用法。
String jsonData = "your_json_data_received_from_api";
User user = new Gson().fromJson(jsonData, User.class);
// do whatever you want to with user object
或者,如果您想使用Retrofit在內部將JSON轉換為POJO,則不必擔心。 改造將在內部處理。
但是請確保在POJO(模型)類內的@SerializedName()
批注中使用正確的JSON key
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.