Десериализация вложенной строки JSON с помощью GSON
Все, у меня есть следующееJSON
Вывод / строка (это ответ от JIRA API):
{
"expand": "names,schema",
"startAt": 0,
"maxResults": 50,
"total": 1,
"issues": [
{
"expand": "operations,versionedRepresentations,editmeta,changelog,transitions,renderedFields",
"id": "18200",
"self": "https://localhost/rest/api/2/issue/18200",
"key": "LS-1111",
"fields": {
"issuetype": {
"self": "https://localhost/rest/api/2/issuetype/3",
"id": "3",
"description": "A task that needs to be done.",
"iconUrl": "https://localhost/secure/viewavatar?size=xsmall&avatarId=10318&avatarType=issuetype",
"name": "Task",
"subtask": false,
"avatarId": 10318
},
"timespent": 21600,
"aggregatetimespent": 25200,
"resolution": null,
"customfield_11201": null,
"project": {
"self": "https://localhost/rest/api/2/project/10100",
"id": "10100",
"key": "PROJKEY",
"name": "ProjectABCD",
"avatarUrls": {
"48x48": "https://localhost/secure/projectavatar?pid=10100&avatarId=10600",
"24x24": "https://localhost/secure/projectavatar?size=small&pid=10100&avatarId=10600",
"16x16": "https://localhost/secure/projectavatar?size=xsmall&pid=10100&avatarId=10600",
"32x32": "https://localhost/secure/projectavatar?size=medium&pid=10100&avatarId=10600"
}
},
"issuelinks": [
{
"id": "16202",
"self": "https://localhost/rest/api/2/issueLink/16202",
"type": {
"id": "10003",
"name": "Relates",
"inward": "relates to",
"outward": "relates to",
"self": "https://localhost/rest/api/2/issueLinkType/10003"
}
}
]
}
}
]
}
я используюGSON
для прохождения через элементы и получения значений. Я написалPOJO
классы, следующие примеру «Вложенных объектов» в
http://www.javacreed.com/gson-deserialiser-example/
Я могу получить значения элементов до 2-го уровня. Например, я могу получить значениеresponse.expand
, response.issues.get(0).expand
и другие значения до этого уровня. Как я могу получить значениеresponse.issues.get(0).fields.issuetype.id
?
Как я должен построить свой десериализатор иPOJO
учебный класс. Пожалуйста помогите. Благодарю.