gpt4 book ai didi

java - 如何使我的 Java JSONArray 嵌套并添加字段?

转载 作者:行者123 更新时间:2023-12-01 19:43:20 24 4
gpt4 key购买 nike

抱歉,可能是新手问题,我正在努力学习 Java,同时为工作中的项目做出贡献。实际上代码是 Groovy(并且我们正在使用 Grails),但假设这对于此目的是相同的。

我正在尝试将 JDBC ResultSet 转换为 JSON(以发送到前端)。从博客中得到以下代码:

// Convert JDBC ResultSet to JSON string
public static JSONArray convertToJSON(ResultSet resultSet)
throws Exception {
JSONArray jsonArray = new JSONArray();
ResultSetMetaData metaData = resultSet.getMetaData(); // Result set meta data
int total_columns = metaData.getColumnCount(); // Number of columns in the row

while (resultSet.next()) { // Take each row from the result set
JSONObject obj = new JSONObject();
for (int i = 0; i < total_columns; i++) {
obj.put(metaData.getColumnLabel(i + 1)
.toLowerCase(), resultSet.getObject(i + 1));
}
jsonArray.put(obj);
}
return jsonArray.toString(); // Return as JSON string
}

这(我相信)将为我提供一个 JSON 结构,其中数据位于 JSON 的根/顶部。我想将它移动到一个子字段(例如称为“数据”),然后在根级别有另外几个键/值对。请问我该如何修改代码来做到这一点? (我可以将几个额外的值作为参数传递)

谢谢。

最佳答案

你可以做类似的事情

JSONObject rootObject = new JsonObject();
rootObject.put("data", jsonArray);

这将让您将 JSON 视为键值对,并且应该完成您所要求的任务。

此外,您可能需要考虑使用 ObjectMapper 将对象转换为 JSON。这将允许您使用类似于 objectMapper.writeValueAsString(resultSet)

的 Java 对象创建 JSONObject

关于java - 如何使我的 Java JSONArray 嵌套并添加字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54555605/

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