在我的应用程序中,用户将执行 HTTPrequest
从服务器检索数据。
目前在服务器端,我执行数据库选择语句,然后使用 ResultSetDynaBean 检索每一行并转换为对象并存储在 ArrayList 中。这一切都很好。
ArrayList<ParkingSpot> spotsList
然后我使用 Google GSON 库将每个对象转换为 JSON 字符串
ArrayList<String> jsonStrings = new ArrayList<String>();
Gson gson = new Gson();
for (ParkingSpot ps : spotsList) {
String json = gson.toJson(ps);
jsonStrings.add(json);
}
每个 json 字符串看起来像这样
{"address":"York Road","zone":"Green","startTime":7.0,"endTime":24.0,"timeAdded":"Jun 16, 2011 11:53:27 AM","psId":898}
我需要发送最多 1000 个上述字符串
正如你所看到的,我将每个添加到一个字符串ArrayList
中。我认为这是不正确的。
我应该如何将信息发送到 Android 手机。
从 GSON 库我可以在 Android 手机上调用以下内容
Spot spot = gson.fromJson(jsonString, Spot.class);
System.out.println(spot);
但我不知道如何从我的 Servlet
的响应中检索 jsonString(我也不知道如何在 servlet 端设置它)
最佳答案
我看到你使用了gson。使用它真的很容易:
服务器端:
ArrayList<ParkingSpot> spotsList = ...
String json = gson.toJson(spotsList);
这就是服务器端的全部内容。
客户端:
要建立连接并读取响应,请使用 marqss 的答案。要将 json 放入列表中,请使用以下命令:
List<ParkingSpot> list = gson.fromJson(json, new TypeToken<List<ParkingSpot>>(){}.getType());
关于java - 如何发送创建 JSON 字符串并将其从服务器发送到 android?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6372073/