Deserialización de cadena JSON anidada utilizando GSON
Todos tengo lo siguienteJSON
salida / cadena (es una respuesta de la API 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"
}
}
]
}
}
]
}
estoy usandoGSON
para atravesar los elementos y obtener los valores. he escritoPOJO
clases siguiendo el ejemplo de "Objetos anidados" en
http://www.javacreed.com/gson-deserialiser-example/
Puedo obtener los valores de los elementos hasta el segundo nivel. Por ejemplo: soy capaz de obtener el valor deresponse.expand
, response.issues.get(0).expand
y otros valores hasta este nivel. ¿Cómo puedo obtener el valor deresponse.issues.get(0).fields.issuetype.id
?
¿Cómo debo construir mi deserializador yPOJO
clase. Por favor asiste. Gracias.