次の Json String のスニペットがあります。
{
"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文字列をオブジェクトに変換する良い方法は何ですか?
ありがとうございました。