парсинг JSON с использованием GSON с массивами - PullRequest
0 голосов
/ 05 ноября 2011

Я использовал GSON для извлечения простого фрагмента JSON, в котором не было массивов, и поместил их в список объектов:

Type listType = new TypeToken<List<SingleEvent>>(){}.getType();  
List<SingleEvent> events = new Gson().fromJson(jsonResponse, listType);

SingleEvent - это класс, который я создал и только что включилпростые строковые переменные.

Теперь я хочу создать объект, который может принимать массивы из строк JSON.

[{"ticketmaster":"http:\/\/www.ticketmaster.ca","images":["http:\/\/www.example.com\/sites\/default\/files\/imagecache\/gallery\/SNW_4.jpg","http:\/\/www.example.com\/sites\/default\/files\/imagecache\/gallery\/AB.jpg","http:\/\/www.example.com\/sites\/default\/files\/imagecache\/gallery\/L5Y.jpg","http:\/\/www.example.com\/sites\/default\/files\/imagecache\/gallery\/TOS.jpg"]}]

Итак, в моем объекте, который будет хранить эти данные, я просто создал переменную, подобную этой:

private ArrayList images;

Я получаю предупреждение, но я уверен, как обрабатывать входящиемассивы JSON.

1 Ответ

0 голосов
/ 05 ноября 2011

Но что, если вы можете анализировать тот же ответ JSON, используя собственные классы?

Вот простая попытка:

try {
    JSONObject obj = new JSONObject("Your JSON String");
    JSONArray array = obj.getJSONArray("images");

    for(int i=0; i<array.length(); i++)
    {
        System.out.println("=====> Image at index "+i+"==>"+array.getString(i));
    }
} catch (JSONException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...