У меня есть большой JSON-файл, содержащий много похожих кодов. Это похоже на это:Представляем переменные Gson
...,"techs":{"t1":{"level":24,"able":true},"t2":{"level":23,"able":true},"t3":{"level":20,"able":true},"t4"...,"t5"...
С тех пор t1 до t510 ... По этой причине, я должен создать действие для каждого Т.Н., так что я должен создать 510 мероприятий! 0,0
Чтобы получить доступ ко каждому Т.Н. я использую следующие строки:
Gson gson = new Gson();
Planets json = gson.fromJson(str, Planets.class);
System.out.println(json.techs.t1.level);
System.out.println(json.techs.t2.level);
etc...
Так что я хочу знать, если есть возможность изменить t1 для переменного, так что у меня есть только изменения переменная для доступа t2 в одном действии.
Например: String tech = t456; System.out.println(json.techs.tech.level);
Большое спасибо заранее!
Ничего себе! Спасибо за отличный ответ! Завтра утром я попробую! Кажется, что он будет работать без проблем. Завтра я проголосую за ваш ответ. Спасибо! –
Я пытаюсь получить данные, но показывает журналы: [email protected] По крайней мере, это не ошибка! EDITED: исправить! Мне просто пришлось изменить тип InnerObject на int! Большое спасибо! Отлично работает! : D –
У меня проблемы ... Я всегда получаю исключение NullPointerException! Galax galax = новый Gson(). FromJson (strGalaxy, Galax.class); double er = galax.pos.get ("p2"). debris.titanium; strGalaxy в порядке, и классы тоже в порядке, я думаю, все правильно ...открытый класс Galax { \t \t общедоступный HashMap pos; } открытый класс InnerObject { \t общественный обломки мусора; \t} общественного класс мусора { \t \t общественных двойной титан; } JSON snippet: {"p1": {"debris": {"titanium": 0, "silicum": 0}}, "p2": {"debris": {"titanium": 0, "silicum": 0}} –