JSON オブジェクトの文字列表現をマップのリストに解析しようとしています。json オブジェクトは次のような構造になります。
[
{
"first_name": "fname1",
"last_name": "lname1"
},
{
"first_name": "fname2",
"last_name": "lname2"
}
.
.
.
]
既知の唯一のことは、実行時の文字列値 (「first_name」、「last_name」など)のみであるため、事前定義されたクラス (通常は fromJson() メソッドで使用されるような) を作成できません。
次の関数を作成しようとしましたが(オンラインでいくつかの例を見た後)、機能しませんでした:
public List<Map<String, Object>> fromJson(String jsonAsString) {
final JsonElement jsonElement = this.jsonParser.parse(jsonAsString);
List<Map<String, Object>> myList= new ArrayList<Map<String, Object>>();
Type listType = TypeToken.get(myList.getClass()).getType();
myList= (new Gson()).fromJson(jsonElement, listType);
return myList;
}
この関数の結果はリスト (上記の場合は長さ == 2) ですが、2 つのマップの代わりに 2 つのオブジェクトを取得しています。
何か助けはありますか?ありがとう!