java Gson反序列化跳过一个引号
我必须反序列化JSON
。为此,我使用了GSON
库。我正在构建一个web应用程序。用户填写他想飞的地方,然后将查询发送到API
并返回结果
让我们举一个响应的例子:
{"success":true,"data":{"WAW":{"0":{"price":153,"airline":"LO","flight_number":678,"departure_at":"2019-08-05T17:40:00Z","return_at":"2019-08-20T14:35:00Z","expires_at":"2019-05-24T20:55:02Z"},"1":{"price":126,"airline":"A3","flight_number":881,"departure_at":"2019-11-21T11:00:00Z","return_at":"2019-11-26T16:05:00Z","expires_at":"2019-05-27T13:39:23Z"},"2":{"price":171,"airline":"KL","flight_number":900,"departure_at":"2019-09-12T02:40:00Z","return_at":"2019-09-18T17:30:00Z","expires_at":"2019-05-27T10:40:40Z"},"3":{"price":235,"airline":"B2","flight_number":972,"departure_at":"2019-06-12T07:20:00Z","return_at":"2019-06-18T17:30:00Z","expires_at":"2019-05-26T12:31:22Z"},"4":{"price":596,"airline":"TK","flight_number":422,"departure_at":"2019-06-20T00:10:00Z","return_at":"2019-06-24T13:05:00Z","expires_at":"2019-05-26T08:08:21Z"}}},"error":null,"currency":"EUR"}
我以这种方式创建了一个类:http://pojo.sodhanalibrary.com
问题是总是有到达地点的名称。在这种情况下WAW = Warsaw
gsonConvert.gson(output).getData().getWAW().getFirst().getAirline()
我想避免它,因为到达的地点将取决于用户的选择
# 1 楼答案
您应该能够将
data
属性简化为:Map<String, Map<String, Flight>>
。其中Flight
POJO
表示给定的航班。模型可以如下所示:以及如何解析
JSON
的示例:以上代码打印:
另见: