Как я могу десериализовать этот комплекс JSON. Я хочу получить доступ ко всем объектам и прочитать. Например, поля SelectionId и AdditionalPriceInfo путем индексирования. прибудете (0) .getSelectionId() -> d51d38c9-6e51-473c-b843-f24fef632f89Комплекс десериализации JSON с gson Java
{
"Status": 0,
"Message": "",
"Result": {
"HasMore": "False",
"Itineraries": [
{
"SelectionId": "d51d38c9-6e51-473c-b843-f24fef632f89",
"AdditionalPriceInfo": null,
"Trips": [
{
"TotalTravelTime": "02:00:00"
}
]
},
{
"SelectionId": "ff44d76a-a4c8-4aff-9f9d-6db4e1f3092c",
"AdditionalPriceInfo": null,
"Trips": [
{
"TotalTravelTime": "01:23:00"
}
]
}
],
"SearchOriginCityText": "Long Beach",
"SearchOriginAirportCode": "LGB",
"SearchDestinationCityText": "SFO",
"SearchDestinationAirportCode": "SFO"
}
}
Мой код до сих пор для доступа ко всем я хочу:
Gson gson2 = new Gson();
AirJson airJson = gson2.fromJson(airFullResult3, AirJson.class);
Itineraries itineraries = gson2.fromJson(airFullResult3, Itineraries.class);
Result result = gson2.fromJson(airFullResult3, Result.class);
//Having null instead SFO
System.out.println(result.getSearchDestinationAirportCode());
//Having null
System.out.println(itineraries.getAdditionalPriceInfo());
Когда я разделил мой JSON , Я могу получить доступ к значениям, которые я хочу.
{
"Itineraries": [{
"SelectionId": "d51d38c9-6e51-473c-b843-f24fef632f89",
"AdditionalPriceInfo": null
}, {
"SelectionId": "dda40b80-d8e4-4b76-9f78-83297b52afe9",
"AdditionalPriceInfo": null
}]
}
Успешный код и доступ к значениям.
JsonParser parser = new JsonParser();
JsonObject rootObject = parser.parse(airFullResult).getAsJsonObject();
JsonElement projectElement = rootObject.get("Itineraries");
Type listofObject = new TypeToken<List<Itineraries>>(){}.getType();
List<Itineraries> itiList = gson2.fromJson(projectElement, listofObject);
//Having d51d38c9-6e51-473c-b843-f24fef632f89 as a result
//which is great
System.out.println(itiList.get(0).getSelectionId());
Когда я использую один и тот же код для первого незанятого JSON, не работает и с java.lang.NullPointerException как ошибка
Хорошим началом было бы создание POJO, отражающих эту структуру. Комплекс здесь довольно субъективен. – rmlan
Я построил POJO. Все классы готовы. Я запутался в вызове массивов в объектах. В результате у меня есть нуль. – bkm
Что ж, вы не думаете, что этот код может помочь нам в оказании помощи? – rmlan