Как разобрать вложенный JSON с GSON - PullRequest
2 голосов
/ 30 декабря 2011

Допустим, у меня есть JSON вроде:

{
    "assignments": [
        {
            'id': '111',
            'activities': [
                {
                    'activity': 'Activity 1',
                },
                {
                    'activity': 'Activity 2'
                }
            ]
        },
        {
            'id': '2222',
            'Activities': [
                {
                    'activity': 'Activity 1'

                }
            ]
        }
    ]
}

И я использую GSON для его анализа.Я правильно настроил Javabean и могу получить доступ к идентификатору без проблем.Как получить действия для идентификатора / объекта?

РЕДАКТИРОВАТЬ: больше код:

public class Assignment {

private String id;

public String getId() {
    return id;
}
}

Gson mGson= new Gson();
assignmentList=mGson.fromJson(json, AssignmentList.class);
assignmentList.getAssignments().get(0).getId());

Ответы [ 2 ]

4 голосов
/ 30 декабря 2011

Я бы создал еще один Бин для Деятельности, поскольку он сам по себе является объектом JSON.

class Assignment {

    private String id;
    private List<Activity> activities; //getters and setters for this.

    public String getId() {
        return id;
    }

}

class Activity {
    private String activity; //Getters and setters
}


Gson mGson= new Gson();
assignmentList=mGson.fromJson(json, AssignmentList.class);
assignmentList.getAssignments().get(0).getActivities.get(1);
0 голосов
/ 03 сентября 2015

Если в классе есть только примитивные типы, достаточно просто определить два Java-класса, просто убедитесь, что класс не наследуется от GenericJson, это нарушает рекурсивную операцию синтаксического анализатора Gson.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...