Java 如何将json响应转换为数组?
我希望json响应中的值被列出,而不是显示为逗号分隔的单行响应。下面是我的代码部分:Java 如何将json响应转换为数组?,java,json,api,rest,Java,Json,Api,Rest,我希望json响应中的值被列出,而不是显示为逗号分隔的单行响应。下面是我的代码部分: URL url = new URL(urlStr); HttpURLConnection con = (HttpURLConnection) url.openConnection(); con.setRequestMethod("POST"); con.setRequestProperty("Content-Type", "application/json"); con.setDoOutput(true);
URL url = new URL(urlStr);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type", "application/json");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
os.write(DaoIntegration.getCustomSearchBody().getBytes());
os.flush();
os.close();
if (con.getResponseCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : " +
con.getResponseCode());
} else {
content = (InputStream) con.getInputStream();
result = org.apache.commons.io.IOUtils.toString(content, "UTF-8");
jsonObject = new JSONObject(result);
String MemberResponse = jsonObject.get("MemberResponse").toString();
String[] members = MemberResponse.split(",");
System.out.println("MemberResponse: " + members);
}
我现在得到的是以下格式:
MemberResponse:{“AnniversaryDate”:null,“EmirateResidence”:null,“ReferralCode”:“ERXEN0B1NJ”,“Email”:abc@gmail.com,“TotalPointsSlapsed”:“0”}
我希望格式如下图所示:
你能试试这个并美化你的json和打印吗?请确保添加必要的jackson.core作为依赖项
ObjectMapper mapper = new ObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(jsonObject);
可以使用对象映射器将jsonobject转换为hashmap。然后从hashmap转换为所需的任何形式。