2017-09-30 7 views
1

私はそれが1、2クラスを作成しhttp://www.jsonschema2pojo.org/から生成するとき、このキーによって生成されたJSONからPOJOを作成します=>値アレイ

{ 
     "1": [ 
      { 
       "idmapel": 1, 
       "label": "Fisika" 
      }, 
      { 
       "idmapel": 2, 
       "label": "Kimia" 
      }, 
      { 
       "idmapel": 3, 
       "label": "Biologi" 
      }, 
      { 
       "idmapel": 4, 
       "label": "Matematika" 
      }, 
     ], 
    "2":[ 
    { 
     "idmapel": 1, 
     "label": "Fisika" 
    } 
    ] 
} 

のようなJSONからPOJOを作成したいが、私はより多くを持っている場合を想像2つのキーより。 ObjectClass::getList(1)またはObjectClass::getList(2)

+0

詳細を教えてください。私は2つ以上のキーを想像していますが、何も起こっていないようです。あなたはそれがうまくいっている - あなたはスケーラビリティか何かを心配していますか?もしそうなら、あなたの懸念は何ですか? –

+0

私はサーバーからretrofitを取得していますが、結果にキー1,2,3、..、nが含まれている可能性があります。データに依存していますので、キーでコレクションを取得したいと思っています。 1つのキーでコレクションを取得するObjectClass :: get(key)でアクセス可能にする必要があります。ここでkeyは1,2、またはこのjson –

答えて

1

これを行うには、Mapを使用できます。

Pojo、フィールド idmapellabelを持つクラス、 deserializeオブジェクトにJSONをデシリアライズし、 jsonStringをデシリアライズするJSON文字列値である方法である
Map<String, List<Pojo>> map = deserialize(jsonSring); 

。次に、キーでリストにアクセスできます

List<Pojo> list1 = map.get("1"); 
List<Pojo> list2 = map.get("2"); 
+0

のキーが最良のアプローチのように見えます。 –

関連する問題