使用JavaEE从对象列表创建具有JsonArray的JsonObject

使用JavaEE从对象列表创建具有JsonArray的JsonObject,java,json,Java,Json,我想从对象列表中创建一个JSONARRAY,并将其添加到JsonObject中,反之亦然。 我正在使用javax.json-api-1.0库。 这是我尝试过的,但不起作用。我得到的结果是{“type”:“friends_list”,“array”:[]} 公共静态void main(字符串[]args){ 列表用户=新建ArrayList(); UserModel user1=新的UserModel(0,“名称1”name1@gmail“,”在线“); UserModel user2=新的Us

我想从对象列表中创建一个JSONARRAY,并将其添加到JsonObject中,反之亦然。 我正在使用javax.json-api-1.0库。 这是我尝试过的,但不起作用。我得到的结果是{“type”:“friends_list”,“array”:[]}


公共静态void main(字符串[]args){
列表用户=新建ArrayList();
UserModel user1=新的UserModel(0,“名称1”name1@gmail“,”在线“);
UserModel user2=新的UserModel(1,“name2”name2@gmail“,”离线“);
users.add(user1);
users.add(user2);
JsonObject jo=来自用户列表(用户);
System.out.println(jo.toString());
}
ListofUsers(列表用户)中的公共静态JsonObject{
JsonArrayBuilder jsonArray=Json.createArrayBuilder();
for(用户模型用户:用户){
添加(Json.createObjectBuilder()
.add(“id”,user.getId())
.add(“name”,user.getName())
.add(“email”,user.getEmail())
.add(“online_status”,user.getOnline_status()).build());
}
jsonArray.build();
JsonObject obj=Json.createObjectBuilder()
.添加(“类型”、“朋友列表”)
.add(“数组”,jsonArray)
.build();
返回obj;
}

您得到了什么结果?已编辑。再次检查在循环中创建JsonObject时,您忘了执行build()对我有用谢谢

    public static void main(String[] args) {
        List<UserModel> users = new ArrayList<>();
        UserModel user1 = new UserModel(0, "name1", "name1@gmail", "online");
        UserModel user2 = new UserModel(1, "name2", "name2@gmail", "offline");
        users.add(user1);
        users.add(user2);

        JsonObject jo = fromListOfUsers(users);
        System.out.println(jo.toString());
    }
public static JsonObject fromListOfUsers(List<UserModel> users) {
        JsonArrayBuilder jsonArray = Json.createArrayBuilder();
        for (UserModel user : users) {
            jsonArray.add(Json.createObjectBuilder()
                    .add("id", user.getId())
                    .add("name", user.getName())
                    .add("email", user.getEmail())
                    .add("online_status", user.getOnline_status()).build());
        }
        jsonArray.build();

         JsonObject obj = Json.createObjectBuilder()
                 .add("type","friends_list")
                .add("array", jsonArray)
                .build();
        return obj;        
    }