2017-04-06 32 views
0

我正在使用RestTemplate從Jira中檢索問題列表。作爲響應,我得到了很多字段的String,其中一些是數組。請求的樣子:如何使用RestTemplate自動將響應字符串解析爲地圖

ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class); 

響應字符串的樣子:

{ 
"expand": "schema,names", 
"total": 12, 
"issues": [ 
{ 
    "id": "32", 
    "key": "TEST-1", 
    "fields": { 
    "fixVersions": [ 
     { 
     "description": "", 
     "releaseDate": "2017-04-02" 
     } 
    ] 
}, 
{ 
    "id": "32", 
    "key": "TEST-2", 
    "fields": { 
    "fixVersions": [ 
     { 
     "description": "", 
     "releaseDate": "2017-04-01" 
     } 
    ] 
} 
] 
} 

是否有可能這個字符串轉換成地圖,在那裏對象可以是字符串或地圖列表或這樣的事情,但沒有界定適當的對象。因此,我希望可以通過以下方式訪問說明:response.getIssues().get(0).getFields().getFixVersion().get(0).getDescription()

在這種情況下,定義特定對象鏈顯得太麻煩。

回答

0

您可以創建自己的POJO類,它對應於響應JSON的結構。 根據您已經共享了JSON,你可以有一個階級結構是這樣的:

public class Response { 
    private String expand; 
    private String total; 
    private List<Issues> issues; 
} 

public class Issues { 
    private String id; 
    private String key; 
    private Map<String, List<FixVersions> fields; 
} 

public class FixVersions { 
    private String description; 
    private String releaseData; 
} 

GET通話將更改爲以下:

ResponseEntity響應= restTemplate.exchange(URL, HttpMethod.GET,entity,Response.class);

P.S. - POJO課程中的所有領域都必須有他們的獲得者和 設定者。

相關問題