1

リストをフィールドとして持ち、別のオブジェクトを持つクラスに文字列を解析したいと考えています。クラスは次のとおりです。

Result result;
List<Param> params;

および文字列:

{  
  "result":{  
    "isOk":true,
    "message":"OK"
  },
  "params":[  
    {  
      "id":123,
      "name":"ASD"
    },
    {  
      "id":987,
      "name":"QWE"
    }
  ]
}

質問に基づいて、オプションを使用しようとし.use()ましたが、HashMap しか取得できませんでした。ドキュメントは私にとって明確ではありません。

編集:これを理解するためにいくつかの変更を加えましたが、ハッシュマップを取得することさえできません...

Edit2:わかりました、ハッシュマップを取得しましたが、クレイジーです。

私はなんとかしました:

HashMap<String, List<Params>> map = 
  new JSONDeserializer<HashMap<String, List<Params>>>()
        .use("null", List.class)
        .use("params", Params.class)
        .deserialize(json);

それから私は:

List<Params> params = mapa.get("params");

しかし、Param param = params.get(0);失敗したキャスト HashMap を Params に返します...

4

0 に答える 0