java - 如何发送创建 JSON 字符串并将其从服务器发送到 android?

标签 java android json servlets gson

在我的应用程序中,用户将执行 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/

相关文章:

android - 从 Intent 检索时包裹崩溃

android - 识别上次使用 android 应用程序的时间

json - 将 Json 日期时间转换为 C# 日期时间

Java 对象转 JSON : field names

java - 如何在启动时选择打开(或不打开)最后一个 intellij 项目?

java - 如何从受密码保护的私钥文件创建私钥?

java - 有没有办法在Java中调用 "seal"方法? (它可能不会被覆盖)?

java - f :convertDateTime displays wrong Date

java - OneLogin java-saml-tookit-jspsample 在解析响应时崩溃

ios - 在 Background Swift 中循环并将 json 数据附加到 UIImage[]