У меня есть JSON, который содержит следующее:NullPointerException десериализации с gson
{"p1":{"debris":{"titanium":0,"silicum":0}},"p2":{"debris":{"titanium":0,"silicum":0}}...
Я объявляю данные, используя HashMap:
public class Galax {
public HashMap <String, InnerObject> pos;
}
public class InnerObject {
public Debris debris;
}
public class Debris {
public double titanium, silicum;
}
И я называю данные с помощью этого:
Galax galax = new Gson().fromJson(strGalaxy, Galax.class);
System.out.println(galax.pos.get("p2").debris.titanium);
Проблема в том, что я всегда получить исключение NullPointerException при попытке чтобы показать данные в журнале ... Я не понимаю, почему, потому что я использую это точно так же, как получить данные других JSON, и он отлично работает ...
В чем может быть проблема?
Спасибо заранее!
Если бы вы могли опубликовать весь стек, вы, скорее всего, получите полезный ответ. – NotACleverMan
Вы говорите, что вы нажимаете нулевой указатель на эту строку: «System.out.println (galax.pos.get (« p2 »). Debris.titanium); попробуйте запустить его через отладчик и посмотреть, в какой именно точке вы нажмете нулевой указатель. Это может быть «galax.pos.get (« p2 »)» или «galax.pos.get (« p2 »). Debris» или «galax.pos.get (« p2 »). Debris.titanium». Я думаю, что это может быть проблема анализа JSON. – NotACleverMan
Это не похоже на допустимую строку массива json, но вы можете опубликовать полную строку json? – yorkw