如何从HttpURLConnection读取json数据

问题描述:

我使用application1的HttpURLConnection从applicaton2获取json数据。 'applicaton2'在Rest响应对象中设置json数据。如何在应用程序1中获取响应后读取json数据。如何从HttpURLConnection读取json数据

示例代码:

应用1:

url = "url to application2"; 
urlConnection = (HttpURLConnection) url.openConnection(); 
urlConnection.connect(); 

应用2" :?

List<ModelA> lListModelAs = Entities data; 
GenericEntity<List<ModelA>> lEntities = new GenericEntity<List<ModelA>>(lListModelAs) {}; 
lResponse = Response.ok(lEntities).build(); 

我需要从响应阅读上面从URLConnection的JSON数据

任何提示感谢提前预约。

使用专用库进行json序列化/反序列化,例如Jackson。它将允许您将json内容直接从InputStream读入映射响应的POJO。它会是这样的:

MyRestResponse response=objectMapper.readValue(urlConnection.getInput(),MyRestResponse.class); 

看起来不错呢?

在这里你有杰克逊项目GitHub页面的用法示例。 https://github.com/FasterXML/jackson

+0

感谢answer.This将读入一个对象,但我想把它当作列表,该怎么做? – user1770589

+0

无论你想要什么,你都可以拥有对象列表等。例如保证'MyRestResponse响应'你可以有'List 响应' – Antoniossss

您可以使用GSON库 https://github.com/google/gson解析您的数据

Gson gson = new Gson(); 
YourClass objOfYourClass = gson.fromJson(urlConnection.getInputStream(), YourClass.class); 
+0

感谢您的答案。这将读入单个对象,但我想它作为列表,如何做到这一点? – user1770589

+0

单程是YourClass []。class –