gpt4 book ai didi

java - 如何使用 JSONObject 以及 java 中数据库表中的所有值创建 JSONArray

转载 作者:行者123 更新时间:2023-11-30 06:06:17 26 4
gpt4 key购买 nike

我正在从 JAVA 中包含 3 行的数据库表中获取详细信息。 我使用 JSONarray 和 JSONObject 如下

JSONObject jsonObject = new JSONObject();
JSONObject mainjsonObject = new JSONObject();
JSONArray ja=new JSONArray();

表中的数据按如下方式放入 jsonObject:

String qry="select * from details";
ResultSet res = select .executeQuery(qry);
while(res.next){

String Name=res.getString("name");
.
.

jsonObject.put("Name", Name);

.

.

ja.put(jsonObject);

}



mainjsonObject.put("PERSONAL DETAILS",ja);

我应该得到输出 json,如下所示:

{
"PERSONAL DETAILS": [
{
" name": "abc",
"age": "4",
"gender": "F",
"Place": "abc1"
},
{
" name": "xyz",
"age": "3",
"gender": "M",
"Place": "abc2"
}


]

}

但是我在两者中得到相同的值,如下所示:

{

"PERSONAL DETAILS": [

{

" name": "abc",

"age": "4",

"gender": "F",

"Place": "abc1"

},

{

" name": "abc",

"age": "4",

"gender": "F",

"Place": "abc1"

}


]

}

请帮我解决一下。我需要以 JSON 格式的数组形式获取表中的所有值

最佳答案

您需要在循环中创建新的JSONObject,否则最后一条记录将随处显示

while(res.next()){

String Name=res.getString("name");
jsonObject = new JSONObject();
// ^^^^^^^^
jsonObject.put("Name", res.getString(1));
jsonObject.put("age", res.getString(2));
jsonObject.put("gender", res.getString(3));
jsonObject.put("Place", res.getString(4));
ja.put(jsonObject);
}

关于java - 如何使用 JSONObject 以及 java 中数据库表中的所有值创建 JSONArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44327818/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com