我有以下的Json字符串片段:
{
"networks": {
"tech11": {
"id": "1",
"name": "IDEN"
},
"tech12": {
"id": "2",
"name": "EVDO_B"
}
}
}
我使用了一些方法将这个字符串转换为对象:
private static Gson mGson = new Gson();
...
public static WebObjectResponse convertJsonToObject(String jsonString) {
WebObjectResponse webObjectResponse = null;
if(jsonString != null && jsonString.length() > 1){
webObjectResponse = mGson.fromJson(jsonString, WebObjectResponse.class);
}
return webObjectResponse;
}
在上述提到的字符串中,WebObjectResponse
是应该表示该类的类。
如果我获得静态字段,那么这并不复杂。
但在我的情况下,这些值具有不同的名称:tech11
、tech12
等等。
我可以使用 @SerializedName
,但它只适用于特定情况,例如将“class”转换为“class_”。
正如您所看到的,networks
对象被定义为 tech
对象的列表,但后缀不同。
public class WebObjectResponse{
private DataInfoList networks = null;
}
这是静态实现,我定义了2个值tech11
和tech12
,但下一个响应可能是techXX
public class DataInfoList {
private DataInfo tech11 = null;
private DataInfo tech12 = null;
}
public class DataInfo {
private String id = null;
private String name = null;
}
如何将当前的 Json 字符串转换为对象,其中元素列表也是对象,并且具有不同的名称?
谢谢。
WebObjectResponse
类的相关部分,以了解其结构。 - Sotirios DelimanolisDataInfo
对象,则考虑使用一个 map,其中techXX
作为 String 键。 - Sotirios Delimanolis