java - 使用 Gson 反序列化对象数组

标签 java json

我知道如何使用“Gson”库反序列化普通 JSON 对象,但我面临着使用多个 JSON 对象和数组反序列化 JSON 数组的问题。我试图在下面这个简单的 arrival_time JSON 对象中获取时间,但我不知道如何构建我的类来实现这一点。有人可以解释一下我该怎么做吗?

简单:

[{"route": 1,
  "info": [
            {"direction": "Surrey Quays"},
            {"stops": [{"stops_name": " Tenison Way"},
                       {"arrival_time":{
                                          "mon-fri": [ "05:38", "06:07","06:37"],
                                                "sat": ["05:34","06:01","06:31"],
                                                "son": ["06:02","06:34","07:04"]
                                        }

                       }
                      ]
            }
          ] 

}]

最佳答案

您可以使用以下结构解析此 Json:

class ArrivalTime {
    public List<String> mon_fri;
    public List<String> sat;
    public List<String> son;
}

class Stop {
    public String stop_name;
    public ArrivalTime arrival_time;
}

class Info {
    public String direction;
    public List<Stop> stops;
}

class RouteInfo {
    public Integer route;
    public List<Info> info;
}

然后像这样使用它:

Gson gson = new Gson();
RouteInfo[] routes = gson.fromJson(/* your json string*/, RouteInfo[].class);

到达时间将在类似这样的地方提供(这很丑陋,但我只想让你展示这个 json 字符串的示例结构):

System.out.println(routes[0].info.get(1).stops.get(1).arrival_time.sat.get(0));

关于java - 使用 Gson 反序列化对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30854142/

相关文章:

java - 使用异步任务在 webview 中加载 url 失败

java - 从二维数组中获取索引

java - 在不知道 JSON 结构的情况下在 Java 中解析嵌套的 JSON?

java - JAX-RS - apache CXF 中没有根节点的 JSON

ios - 如何获取json数据并通过segue传递它

java - 通过数据库中的 ID 查找 View (不是 findViewById)

java - 这里的beanInterface指的是什么?

java - 如何使用 Spring Security + Angular 登录/认证

php - 从 habbo 的 json 页面获取内容

php - 使用 PHP json_encode 解析错误