HttpGet getRequest=new HttpGet("/rest/auth/1/session/");
getRequest.setHeaders(headers);
httpResponse = httpclient.execute(target,getRequest);
entity = httpResponse.getEntity();
System.out.println(EntityUtils.toString(entity));
输出为json格式如下
----------------------------------------
{"session":{"name":"JSESSIONID","value":"5F736EF0A08ACFD7020E482B89910589"},"loginInfo":{"loginCount":50,"previousLoginTime":"2014-11-29T14:54:10.424+0530"}}
----------------------------------------
我想知道的是如何使用 Java 操作这些数据而不将其写入文件? 我想在我的代码中打印名称、值
首选 Jackson 库,但任何库都可以。
提前致谢
最佳答案
您可以使用 this JSON将 json 字符串解析为 JSONObject 并从该对象读取值的库,如下所示:
JSONObject json = new JSONObject(EntityUtils.toString(entity));
JSONObject sessionObj = json.getJSONObject("session");
System.out.println(sessionObj.getString("name"));
您需要从要读取值的位置读取该对象。在这里,您需要 session
对象内的 name
参数的值,因此您首先使用 getJSONObject(KeyString) 将 session
的值作为 JSONObject 获取。并使用函数 getString(KeyString) 从该对象中读取 name
值如上所示。
希望这对你有帮助。
关于java - 如何在 Java 中操作 HTTP json 响应数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27201201/