繁体   English   中英

如何从HttpURLConnection读取JSON数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM