java - 将 JSONArray 转换为 JSONObject

标签 java json rest

我正在编写一个休息java服务。我想将 JSONArray 转换为 JSONObject 并返回它。但是当我从浏览器访问休息服务时,我得到“{}”作为输出。尽管当我尝试使用 System.out.println(); 打印时,它在休息服务中打印得很好;

PreparedStatement dimDelPS = null;
ResultSet dimDelRS = null;
dimDelPS = connection.prepareStatement("select * from abc");
dimDelRS = dimDelPS.executeQuery();
String dimLow=null;

while (dimDelRS.next()) {
    int total_rows = dimDelRS.getMetaData().getColumnCount();
    for (int i = 0; i < total_rows; i++) {
        org.json.JSONObject obj = new org.json.JSONObject();
        obj.put(dimDelRS.getMetaData().getColumnLabel(i + 1)
                .toLowerCase(), dimDelRS.getObject(i + 1));
        jsonArray.put(obj);
    }
}

System.out.println("json1 :"+jsonArray);

//Sample output at this stage: ["{\"employee\":\"ANTHONY.DUNNE\"}","{\"type\":\"Manager\"}"]

dimDelRS.close();
dimDelPS.close();
JSONObject jsobobject= new JSONObject();
jsobobject.put("aoColumnDefs",jsonArray);
System.out.println(jsobobject);
return jsobobject;

最佳答案

你不能只返回 JSONObject。

您需要确保将其编码为 json。

'返回 Response.ok(jsonObject.toString(), MediaType.APPLICATION_JSON).build();'

浏览器理解字符串,而不是java对象。

关于java - 将 JSONArray 转换为 JSONObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49761866/

相关文章:

java - 使用 OpenGL ES 绘制纹理最简单的方法是什么?

java - 使用导入的java库

java - Web 应用程序服务器过载

c# - ASP.NET核心3.1 : How to deserialize camelcase json from webapi to pascalcase

c# - 无法检索到 WebApi 的 Post 调用中的冗长 base64(超过 3 MB)字符串。我只是得到 null 而不是数据

java - protobuf 2.4.1 - 将数据从 C++ 发送到 Java

jQuery - 查找 json 中的某些属性

javascript - 使用 JavaScript 漂亮地打印 JSON

java - 使用带有 @FormParam 的 POST 获取 405 "Method Not Allowed"错误(带有 Jersey REST 的 Java Web 服务)

javascript - 通过ID访问API资源