2016-06-06 15 views
1

Ich versuche, einige der Schauspieler von Jira zu bekommen. Der Code für den Wrapper wird in einem Gson.fromJson-Aufruf verwandt. Ich hatte etwas Ähnliches mit einer JSON-Zeichenfolge verwendet, die kein Array enthielt, das die Informationen hatte, die ich benötigte, und es funktionierte gut, so scheint das Problem mit dem Array zu tun, aber ich bin mir nicht 100% sicher:json und wrapper für gson

die json würde es erhalten:

{ 
    "self":"http://someserver.com:8080/apps/jira/rest/api/2/project/10741/role/10002", 
"name":"Administrators", 
"id":10002, 
"description":"A project role", 
"actors":[ 
    { 
     "id":12432, 
     "displayName":"Joe Smith", 
     "type":"atlassian-user-role-actor", 
     "name":"joesmi", 
     "avatarUrl":"/apps/jira/secure/useravatar?size=xsmall&ownerId=dawsmi&avatarId=12245" 
    }, 
    { 
     "id":12612, 
     "displayName":"Smurfette Desdemona", 
     "type":"atlassian-user-role-actor", 
     "name":"smudes", 
     "avatarUrl":"/apps/jira/secure/useravatar?size=xsmall&ownerId=lamade&avatarId=10100" 
    }, 

Dies zeigt zwei Schauspieler und das Format der json. Bitte beachten Sie, dass ich keine vollständige JSON-Antwort eingegeben habe. Es zeigt nur zwei Schauspieler.

In meinem Code habe ich versucht, die im Anschluss an die Akteure abzurufen:

InputStream is = response.getEntityInputStream(); 
       Reader reader = new InputStreamReader(is); 
       Gson gson = new Gson(); 

       JiraRoleJsonWrapper[] jiraRoleJsonWrapper = gson.fromJson(reader, JiraRoleJsonWrapper[].class); 
       for (JiraRoleJsonWrapper w : jiraRoleJsonWrapper) { 
        JiraActors[] a = w.getActors(); 
        String name = a.getName(); 

Es ist nicht getName aus irgendeinem Grund nicht finden. Ich bin mir nicht sicher warum.

Antwort

1

Ich fand es heraus.

Ich wechsle den setActors zu

public void setActors(ArrayList<JiraActors> actors) { 
    this.actors = actors; 
} 

Dann konnte ich die Array-Liste erhalten und Zugriff auf den getName() -Methode von JiraActors zu erhalten.