Разбор исключений нулевого указателя JSON с Android Android 2.2 - PullRequest
0 голосов
/ 28 марта 2012

Я уже смотрел на подобный вопрос здесь: Разбор исключений нулевого указателя JSON с Android GSON

Я получаю ту же ошибку, но мои объекты немного отличаются, и он не работает только наAndroid 2.2, но не Android 2.3.Похоже, что поиск в Somme это известная ошибка 2.2, исправленная в 2.3.Но, может быть, есть обходной путь?

Так вот код:

NewsContainer newsContainer = gson.fromJson(response, NewsContainer.class);

ответ JSON:

{"newsList":
{"group":
    {"news":
        {"news":
            {"ranking":"1","id":"NEWS-33713","type":"Fnac","title":"LAURENT GERARD, GERARD COMME ...","subtitle":"THEATRE DES MATHURINS","preview":"http:\/\/www.fnacspectacles.com\/static\/0\/visuel\/grand\/215\/LAURENT-GERARD_2159024664536169906.jpg?1325241781000","details":"LAURENT GERARD, GERARD COMME ...\nDu: 24\/01\/2012 au 30\/06\/2012","address":"36, rue des Mathurins 75008 PARIS","url":"http:\/\/ad.zanox.com\/ppc\/?21135664C184852886&ULP=[[\/place-spectacle\/manifestation\/Seul-en-scene-LAURENT-GERARD--GERARD-COMME-----RARD.htm]]","start_date":"2012-01-24 00:00:00","poi":                  {"latitude":"48.8731960","longitude":"2.3257960"}
            }
        }
    }
}

}

А вотмои объекты:

public class NewsContainer {
private NewsList newsList;

public NewsContainer() {
    ;
}

private static class NewsList {
    List<NewsGroup> group;
}

public List<NewsGroup> getNewsList() {
    return newsList.group;
}

public void setNewsList(List<NewsGroup> newsList) {
    this.newsList.group = newsList;
}

}

public class NewsGroup implements Group{
private Long id;
private String title;
//    @Exclude
private List<News> news;

public List<News> getNews() {
    return news;
}

public NewsGroup() {
}

public void setNews(List<News> news) {
    this.news = news;
}

public Long getId() {
    return id;
}

public void setId(Long id) {
    this.id = id;
}

public String getTitle() {
    return title;
}

public void setTitle(String title) {
    this.title = title;
}

@Override
public List<? extends Item> getItems() {
    return news;
}

}

Объектов гораздо больше, но их было бы слишком долго.Спросите, нужен ли вам один из них.

С уважением

1 Ответ

1 голос
/ 28 марта 2012

В Gson мы обычно используем List , когда имеем дело с массивами JSON.Из вашего ответа JSON я вижу, что нет никаких массивов (только объекты внутри объектов).Если ваш список новостей содержит МНОГО групп, тогда JSON должен выглядеть следующим образом:

{"newsList":
    "group" : [{"news":  .... }, ... ]
}
...