从List <object>生成json

时间:2015-10-11 08:05:42

标签: java json

您好我想从我的数组列表中生成json对象。 样本表:

id      user_id     name        group_id
1       1           user1       1
2       2           user2       1
3       3           user3       2
4       4           user4       3
5       5           user5       2

然后我获得此记录的方式是:

List<User> userList = dao.getUsers();
for(User user:userList){

        JSONObject userJson = new JSONObject();
        userJson.put("user_id", user.getId());
        userJson.put("name", user.getName());
        userArr.put(userJson);

        results.put("group_id", user.getGroup_id());
        results.put("users", userArr);
        resultArr.put(results);
}

上述代码的结果:

[{
    "group_id": 2,
    "users": [
        {
            "user_id": 1,
            "name": "user1"
        },
        {
            "user_id": 2,
            "name": "user2"
        }
    ]
}]

我的目标是将所有记录输出为json,如下面的样本

{
            results:[
            {
                "group_id":1,
                "users":[
                    {"user_id": 1, "name":"user1" },
                    {"user_id": 2, "name":"user2" }
                ]
            },
            {
                "group_id":2,
                "users":[
                    {"user_id": 3, "name":"user3" },
                    {"user_id": 5, "name":"user5" }
                ]
            },
            {
                "group_id":3,
                "users":[
                    {"user_id": 4, "name":"user4"}
                ]
            }
            ]
        }

更新 需要按group_id分组

由于

1 个答案:

答案 0 :(得分:1)

你可以轻松地使用Gson:

{{1}}