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