我有使用改装的JSON
[{
"id":"1",
"name":"name",
"fields_json":{
"f1":"value1",
"f2":"value2",
"f3":"value3"
}
},{
"id":"2",
"name":"name2",
"fields_json":{
"f1":"value1",
"f2":"value2",
"f3":"value3"
}
}]
我想获取人员名单(长ID,字符串名称,地图字段)
如何在此课程中将fields_json作为Map?
答案 0 :(得分:1)
如果你稍微更改了json,那么你可以使用特殊的响应类 {"人员":[{id":" 1"," name":" name",...}]}
public class Response {
@SerializedName("persons")
@Expose
public ArrayList<Person> persones;
}
public class Person {
@SerializedName("id")
@Expose
public String id;
@SerializedName("name")
@Expose
public String name;
@SerializedName("fields_json")
@Expose
public FieldsJson fieldsJson;
}
public class FieldsJson {
@SerializedName("f1")
@Expose
public String f1;
@SerializedName("f2")
@Expose
public String f2;
@SerializedName("f3")
@Expose
public String f3;
}
并将此类设置为响应
@POST("/url")
Call<Response> getPersones(
....
);
因此,如果您希望您可以将公共字段Json描述为Map
Map<String, Object> fieldsJson
答案 1 :(得分:0)
无法将其添加为Map对象。 相反,您需要创建另一个包含f1-f3变量的java类。 然后将这个新类添加为名为fields_json的变量到当前类。