如何將數組列表從Android應用程序發送到servlet?將陣列列表從servlet發送到Android應用程序
回答
至此,您需要以某種標準格式將其轉換爲String
,然後可以使用現有的庫進行解析和構建。例如,JSON,XML或CSV,所有這些都是標準化和可交換的字符串格式,很多編程語言中存在很多解析/構建庫。
Android在the org.json
package中有一個內置的JSON解析器。它甚至在中有一個內置的XML解析器。我不確定是否有內置的CSV庫,但似乎沒有。 Java EE的風格是JAXB,它是一個很好的內置XML解析器,但它沒有內置的JSON解析器。只有JAX-RS實現(Jersey,RESTeasy等)提供了JSON解析器。如果您可以將servlet更改爲JAX-RS webservice,那麼您將能夠以極小的努力返回XML和JSON。另見Servlet vs RESTful。
選擇哪種格式取決於唯一的功能要求。例如,該servlet是否應該被重用於其他服務?什麼是目標客戶?等等。
無論如何,JSON格式通常比XML更簡潔,最近更受歡迎,所以我將給出一個以JSON格式傳輸數據的啓動示例,我假設您確實想要執行此操作它使用簡單的香草servlet而不是JAX-RS。在這個例子中,您只需要下載並放置一個JSON庫,如 /WEB-INF/lib
,以便將Java對象轉換爲servlet中的JSON。
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<String> list = new ArrayList<String>();
list.add("item1");
list.add("item2");
list.add("item3");
String json = new Gson().toJson(list);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);
}
這將構建並在下面的JSON格式返回List
:由org.json
API在Android中
["item1","item2","item3"]
這反過來可分析如下:
String jsonString = getServletResponseAsStringSomehow(); // HttpClient?
JSONArray jsonArray = new JSONArray(jsonString);
List<String> list = new ArrayList<String>();
for (int i = 0; i < jsonArray.length(); i++) {
list.add(jsonArray.getString(i));
}
// Now you can use `list`.
如果它是一個基於拉的模型,您可以從您的android應用程序發送HTTP GET請求到servlet端點,並且HTTP響應可以是從數組列表創建的JSON對象。
是否有示例在servlet中重新創建一個arrayList的代碼? –
- 1. 將數據從servlet發送到android應用程序
- 2. 如何發送列表從Servlet到JSP
- 3. 如何從servlet返回列表到我的android應用程序
- 4. 從android應用程序發送url參數到servlet
- 5. 從java程序發送序列化對象到servlet
- 6. 從asp.net發送一個列表到Silverlight應用程序
- 7. 如何將JSON從Android發送到Servlet
- 8. 將jpg圖像從ANDROID發送到servlet
- 9. 如何將序列化對象從Android客戶端發送到Google App Engine Servlet?
- 10. 從Android應用程序發送數據到B應用程序
- 11. 如何從android應用程序在android studio中發送數據到servlet?
- 12. 將序列化數據發送到servlet時發生java.io.EOFException
- 13. 如何將圖像從Java應用程序發送到Android應用程序?
- 14. 如何使用httppost方法從android應用程序發送數據到servlet?
- 15. 發送通用列表球衣servlet
- 16. Android - 應用程序列表
- 17. 已安裝應用程序列表陣列的Android ListView
- 18. 如何將信息從android應用程序發送到SOTI MobiControl?
- 19. 如何將數據從android應用程序發送到asp.net webservices
- 20. 將文件從Android應用程序發送到Azure虛擬機
- 21. 如何將變量從PHP發送到Android應用程序?
- 22. Android-將數據從應用程序發送到燈服務器
- 23. Android應用程序搜索陣列
- 24. 從WPF應用程序發送消息到Azure隊列
- 25. 發送帖子值到ASP.Net MVC應用程序期待列表
- 26. 發送從表單的陣列
- 27. 從Android應用陣列
- 28. 如何使用HttpURLConnection將序列化對象從Java類發送到Servlet?
- 29. 將陣列列表傳遞給WCF應用程序
- 30. 從Android應用程序列表中隱藏應用程序
謝謝!!!!!!第一次使用json –
不客氣。要了解關於JSON格式的更多信息,請查看http://json.org – BalusC
我意識到這是超舊的,但它非常有幫助我想我仍然會寫和詢問我所擁有的一個prolem。我想用上面的代碼示例編譯一個servlet,但是我收到「錯誤:無法找到符號|字符串json =新的Gson()等」(帶有指向Gson的箭頭)。我不知道要包含哪個庫,所以我使用的是gson-2.2.3.jar和gson-2.2.3-sources.jar 什麼可能是錯誤的? –