У меня есть JSON файл в следующем формате:
{
"debugOutput": {
"pathCalculationTime": 0,
"pathTimes": [
0
],
"precalculationTime": 0,
"renderingTime": 0,
"timedOut": true,
"totalTime": 0
},
"error": {
"id": 0,
"message": "PLAN_OK",
"missing": [
"string"
],
"msg": "string",
"noPath": true
},
"plan": {
"date": 0,
"from": {
"lat": 0,
"lon": 0,
"name": "string",
"orig": "string",
"stopCode": "string",
"vertexType": "string"
},
"itineraries": [{
"duration": 0,
"elevationGained": 0,
"elevationLost": 0,
"endTime": 0,
"fare": {},
"legs": [{
"agencyId": "string",
"agencyName": "string",
"agencyTimeZoneOffset": 0,
"agencyUrl": "string",
"alerts": [{}],
"alightRule": "string",
"arrivalDelay": 0,
"boardRule": "string",
"departureDelay": 0,
"distance": 0,
"duration": 0,
"endTime": 0,
"from": {
"lat": 0,
"lon": 0,
"name": "string",
"orig": "string",
"stopCode": "string",
"vertexType": "string"
},
"headsign": "string",
"headway": 0,
"interlineWithPreviousLeg": true,
"intermediateStops": [{
"lat": 0,
"lon": 0,
"name": "string",
"orig": "string",
"stopCode": "string",
"vertexType": "string"
}],
"isNonExactFrequency": true,
"legGeometry": {
"length": 0,
"points": "string"
},
"mode": "WALK",
"pathway": true,
"realTime": true,
"rentedBike": true,
"route": "string",
"routeColor": "string",
"routeId": "string",
"routeLongName": "string",
"routeShortName": "string",
"routeTextColor": "string",
"routeType": 0,
"serviceDate": "string",
"startTime": 0,
"steps": [{
"absoluteDirection": "NORTH",
"alerts": [{}],
"area": true,
"bogusName": true,
"distance": 0,
"elevation": [
"string"
],
"exit": "string",
"lat": 0,
"lon": 0,
"relativeDirection": "DEPART",
"stayOn": true,
"streetName": "string"
}],
"to": {
"lat": 0,
"lon": 0,
"name": "string",
"orig": "string",
"stopCode": "string",
"vertexType": "string"
},
"transitLeg": true,
"tripBlockId": "string",
"tripId": "string",
"tripShortName": "string"
}],
"startTime": 0,
"tooSloped": true,
"transfers": 0,
"transitTime": 0,
"waitingTime": 0,
"walkDistance": 0,
"walkLimitExceeded": true,
"walkTime": 0
}],
"to": {
"lat": 0,
"lon": 0,
"name": "string",
"orig": "string",
"stopCode": "string",
"vertexType": "string"
}
},
"requestParameters": {
"app_id": "string",
"app_key": "string",
"arriveBy": "string",
"date": "string",
"fromPlace": "string",
"maxWalkDistance": "string",
"mode": "string",
"time": "string",
"toPlace": "string"
}
}
Как видите, этот JSON имеет 4 основных объекта (debugOutput
, error
, plan
и requestParameters
). Я хочу сохранить в своей программе только те данные и объекты, которые находятся в объекте plan
, избегая всех данных debugOutput
, error
и requestParameters
.
Что позволяет мне мое текущее знание do это создать объект (dataJson
), который содержит все 4 объекта этого Json (debugOutput
, error
, plan
и requestParameters
), а затем выполнить следующую строку с библиотекой Gson:
dataJson = new Gson().fromJson(jsonfile.json, DataJson.class);
Но это требует создания всех объектов и хранения информации, которая мне не нужна.
Как я могу прочитать это Json, используя библиотеку Gson, чтобы сразу сохранить все данные plan
на plan
объекте?
Заранее спасибо.