2017-04-21 38 views
1

我有使用JSON響應的端點。我可以調用JSON端點中調用數組長度屬性的長度數。這是我使用的消耗JSON響應的代碼片段:顯示從json響應中檢索到的所有內容

restTemplate.getMessageConverters().add(new StringHttpMessageConverter()); 
Data[] response = restTemplate.getForObject("url", Data[].class); 

Integer response2 = response.length; 

for(int i=0; i < response.length; i++) 
{ 
    //retrieve all the contents of the json response here 
} 

EDITTED:

正是在這種格式

[{"id":1,"state_data":"hi","state_data":"hi", 
"state_data":"hi","state_data":"hi","state_data":"hi", 
"state_data":"hi","state_data":"hi","state_data":"hi", 
"state_data":"hi","state_data":"hi","state_data":"hi", 
"state_data":"hi","state_data":"hi","state_data":"hi", 
"state_data":"hi","state_data":"hi","state_data":"hi", 
"state_data":"hi","state_data":"hi","state_data":"hi", 
"state_data":"hi","state_data":"hi","state_data":"hi", 
"state_data":"hi","state_data":"hi","state_data":"hi", 
"state_data":"hi","state_data":"hi","state_data":"hi"}, 

我的挑戰是,我怎麼能檢索JSON數組中的所有內容作爲字段。感謝收到的援助。

回答

0

Errr,通過代碼的數量來看呈現你想遍歷數組,像這樣:

for(int i=0; i < response.length; i++) 
{ 
    System.out.println(response[i]) // prints the toString of a Data object. 
} 
1

它在很大程度上取決於什麼是在JSON的響應,下面是一個例子。

如果這是你得到的迴應:

{"result": [ {"key":"value1"}, {"key":"value2"} ] } 

下面的代碼將打印出值1,值。

JSONObject jsonObj = new JSONObject(response.getBody()); 

JSONArray result = jsonObj.getJSONArray("result"); 

for(int n = 0; n < result.length(); n++) { 
    JSONObject item = result.getJSONObject(n); 
    System.out.println(item.getString("key")); 
} 
+0

jsonobject不是類 – parker

+0

@parker你可以發佈你試圖解析的JSON響應嗎?上面代碼片段中的JSONObject jsonObj引用是從JSON響應中創建的JSON對象,它知道您收到的JSON響應將闡明如何解析它(以檢索鍵值對)。 – hubpixel

+0

你在那裏...... – parker