[英]How to read json data from HttpURLConnection
我正在从application1使用HttpURLConnection从applicaton2获取json数据。 'applicaton2'在Rest响应对象中设置json数据。 在application1中获得响应后,如何读取该json数据。
样例代码:
应用1:
url = "url to application2";
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.connect();
Application2”:
List<ModelA> lListModelAs = Entities data;
GenericEntity<List<ModelA>> lEntities = new GenericEntity<List<ModelA>>(lListModelAs) {};
lResponse = Response.ok(lEntities ).build();
我需要从响应中的urlConnection读取上面的json数据。
有什么提示吗? 提前致谢。
使用专用库进行json序列化/反序列化,例如Jackson 。 它将允许您直接从InputStream
读取json内容到映射响应的POJO中。 将会是这样的:
MyRestResponse response=objectMapper.readValue(urlConnection.getInput(),MyRestResponse.class);
看起来不错不是吗?
在这里,您可以找到Jackson项目的GitHub页面,其中包含用法示例。 https://github.com/FasterXML/jackson
设置好HttpURLConnection之后。
BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
StringBuilder response = new StringBuilder();
String line;
JsonObject obj = new JsonParser().parse(reader).getAsJsonObject();
boolean status = contentObj.get("status").getAsBoolean();
String Message = contentObj.get("msg").getAsString();
String Regno = contentObj.get("regno").getAsString();
String User_Id = contentObj.get("userid").getAsString();
String SessionCode = contentObj.get("sesscode").getAsString();
您可以在此处下载gson jar,在此处输入链接说明
您可以使用gson库https://github.com/google/gson解析数据
Gson gson = new Gson();
YourClass objOfYourClass = gson.fromJson(urlConnection.getInputStream(), YourClass.class);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.