gpt4 book ai didi

Java,从Derby数据库获取数据并将每一行转换为Json对象

转载 作者:行者123 更新时间:2023-12-02 10:08:53 24 4
gpt4 key购买 nike

我正在修改 Java 和 Derby 数据库,并编写代码来从 derby 数据库(netbeans 集成数据库)获取所有行并从中创建一个 JSON 对象。

try {
PreparedStatement statement = this.con.prepareStatement("SELECT * FROM PURCHASEORDERS");
ResultSet result = statement.executeQuery();
JSONObject objectJson = new JSONObject();
while(result.next()){
for (int x=1;x<(result.getMetaData().getColumnCount())+1;x++)
{
if(result.getMetaData().getColumnType(x)==java.sql.Types.INTEGER)
{objectJson.put(result.getMetaData().getColumnName(x), result.getInt(x));}
if(result.getMetaData().getColumnType(x)== java.sql.Types.VARCHAR)
{objectJson.put(result.getMetaData().getColumnName(x), result.getString(x));}
if(result.getMetaData().getColumnType(x)== java.sql.Types.BOOLEAN)
{objectJson.put(result.getMetaData().getColumnName(x), result.getBoolean(x));}
}
}
System.out.println(objectJson);

这是输出内容

{"STATUS":"ordered","DEPARTMENTCODE":"Enterfake","COMPLETEDSTATUS":true,"PURCHASEID":4,"DELIVERYATTENTION":"fake"}

这是数据库的最后一行。我的问题是为什么它只给我最后一行?我怎样才能让它给我所有的行?有什么想法吗?

最佳答案

如果您将具有相同键的对象放入 JSONObject,则具有该键的先前值将被覆盖,而不是添加(因为 JSON 对象不能具有多个具有相同名称的键)。

要使其正常工作,请创建一个列表,然后将该列表添加到您的 JSONObject

关于Java,从Derby数据库获取数据并将每一行转换为Json对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55139584/

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