Все зависит только от вашего воображения; -)
Я выйду из этого фрагмента JSON
"techs":{"t1":{"level":24,"able":true},"t2":{"level":23,"able":true},"t3":{"level":20,"able":true}}
Это легко представить в виде этой структуры
HashMap<String, InnerObject>
где InnerObject
класс определяется следующим образом:
class InnerObject {
int level;
boolean able;
}
Итак, все, что вам нужно, это класс, где отдельное поле будет называться techs
и будет определено так:
class JSONWrapper {
// another variables
HashMap<String, InnerObject> techs;
}
Чтобы получить доступ к полям после, вы можете использовать:
String techId = "t546";
InnerObject = JSONWrapperInstance.techs.get(techId);
Весь код:
String str = "... contains JSON string ...";
JSONWrapper JSONWrapperInstance = new Gson().fromJson(str, JSONWrapper.class);
И вы можете пройти через все элементы в HashMap
как это:
Iterator<String> iterator = JSONWrapperInstance.techs.keySet().iterator();
while(iterator.hasNext()){
InnerObject = JSONWrapperInstance.techs.get(iterator.next());
}