如何使用GSON解析嵌套的JSON

时间:2011-12-30 12:14:24

标签: java android json gson

假设我有一个JSON,如:

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

                }
            ]
        }
    ]
}

我正在使用GSON来解析它。我有一个正确设置Javabean并可以毫无问题地访问id。我如何获得每个id / object的活动?

编辑:更多代码:

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 个答案:

答案 0 :(得分:4)

我为活动创建了另一个Bean,因为它本身就是一个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);

答案 1 :(得分:0)

如果类中只有原始类型,只需定义两个Java类就足够了,只要确保不从GenericJson继承该类,它就会破坏Gson解析器的递归操作。