显示从json响应中检索到的所有内容

问题描述:

我有使用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数组中的所有内容作为字段。感谢收到的援助。

Errr,通过代码的数量来看呈现你想遍历数组,像这样:

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

它在很大程度上取决于什么是在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