我正在编写一个休息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/