使用gson将结果集转换为json [重复]

Posted

技术标签:

【中文标题】使用gson将结果集转换为json [重复]【英文标题】:resultset to json using gson [duplicate] 【发布时间】:2016-08-02 10:18:12 【问题描述】:

如果我有这样的表:

MsUser
  - userID
  - username

MsProject
  - userID
  - ProjectID
  - ProjectName

如果我有这样的查询:

Result set = select * from MsUser mu, MsProject mp WHERE mu.userID = mp.userID

我可以使用Google gson 将上面查询的结果集转换为 JSON 吗? 顺便说一句,我使用 JSP 开发我的应用程序。

【问题讨论】:

【参考方案1】:

您可以使用此方法将ResultSet对象转换为jsonArray

public static JSONArray convertToJSON(ResultSet resultSet)
            throws Exception 
        JSONArray jsonArray = new JSONArray();
        while (resultSet.next()) 
            int total_columns = resultSet.getMetaData().getColumnCount();
            JSONObject obj = new JSONObject();
            for (int i = 0; i < total_columns; i++) 
                obj.put(resultSet.getMetaData().getColumnLabel(i + 1).toLowerCase(), resultSet.getObject(i + 1));
            
          jsonArray.put(obj);
        
        return jsonArray;
    

如果你想把这个 jsonArray 转换成 json 对象,那么使用下面的方法,

JSONObject jsonObject = new JSONObject();
jsonObject.put("arrayName",jsonArray);

更新:要将 ResultSet 转换为 json 对象,我们需要使用 org.json jar。您应该下载并添加到您的项目类路径中。

【讨论】:

不知道为什么投反对票。

以上是关于使用gson将结果集转换为json [重复]的主要内容,如果未能解决你的问题,请参考以下文章

PHP MySQLi将结果集转换为CSV或JSON

MySQLi将结果集转换为CSV或JSON

无法将 groupby 数据集转换为 pandas 中的 json [重复]

在 PHP 中将 PDO 记录集转换为 JSON [重复]

将List进行分组后结果返回Map结果集

将 Java 结果集转换为字符串数组