Java动态创建的JSON对象

kes*_*het 3 java json

我正在尝试在我的 servlet 中构建一个 JSON 对象。该对象应如下所示:

{
    "firms": [
    {
        "name": "firm1",
        "projects": [
        {
            "name": "firm1project1"
        },
        {
            "name": "firm1project2"
        },
        {
            "name": "firm1project3"
        }
        ]
    },
    {
        "name": "firm2",
        "projects": [
        {
            "name": "firm2project1"
        },
        {
            "name": "firm2project2"
        },
        {
            "name": "firm2project3"
        }
        ]
    },
    {
        "name": "firm3",
        "projects": [
        {
            "name": "firm3project1"
        },
        {
            "name": "firm3project2"
        },
        {
            "name": "firm3project3"
        }
        ]
    },
    {
        "name": "firm4",
        "projects": [
        {
            "name": "firm4project1"
        },
        {
            "name": "firm4project2"
        },
        {
            "name": "firm4project3"
        }
        ]
    }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我在创建项目名称对象数组时遇到问题:

[
     {
         "name": "firm2project1"
     },
     {
         "name": "firm2project2"
     },
     {
         "name": "firm2project3"
     }
]
Run Code Online (Sandbox Code Playgroud)

现在我有如下所示的代码(oJsonInner 是一个 JSONObject 对象,aProjects - JSONObject 类型的 ArrayList)。我根据从数据库查询获得的结果构建 oJsonInner 对象:

while(result.next()){
oJsonInner.put("name",result.getString("project_name"));
aProjects.add(oJsonInner);
}
Run Code Online (Sandbox Code Playgroud)

有什么方法可以获取 oJsonInner 对象的值,aProjects.add(oJsonInner);因此在下一个循环中我可以创建一个具有不同“project_name”值的新 oJsonInner 对象,而无需更新在第一个循环期间进入 aProjects 数组的对象?

Gre*_*eek 5

while(result.next()){
   oJsonInner = new JsonObject();
   oJsonInner.put("name",result.getString("project_name"));
   aProjects.add(oJsonInner);
}
Run Code Online (Sandbox Code Playgroud)