Desserializando a Cadeia de Caracteres JSON Aninhada Usando GSON
Tudo, eu tenho o seguinteJSON
output / string (é uma resposta da API do JIRA):
{
"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"
}
}
]
}
}
]
}
estou usandoGSON
para percorrer os elementos e obter os valores. Eu tenho escritoPOJO
classes seguindo o exemplo "Objetos Aninhados" em
http://www.javacreed.com/gson-deserialiser-example/
Eu sou capaz de obter os valores dos elementos até o 2º nível. Por exemplo: eu sou capaz de obter o valor deresponse.expand
, response.issues.get(0).expand
e outros valores até esse nível. Como posso obter o valor deresponse.issues.get(0).fields.issuetype.id
?
Como devo construir meu desserializador ePOJO
classe. Por favor, ajude. Obrigado.