Java 使用Spring和GsonHttpMessageConverter进行嵌套JSON解析?
我使用Spring和GsonHttpMessageConverter将JSON对象自动解析到各自的模型中。我使用以下JSON实现了这一点:Java 使用Spring和GsonHttpMessageConverter进行嵌套JSON解析?,java,android,spring,gson,Java,Android,Spring,Gson,我使用Spring和GsonHttpMessageConverter将JSON对象自动解析到各自的模型中。我使用以下JSON实现了这一点: { "site_id" : "1234567", "address" : "123 FAKE ST., City, State Zip", "phone_number" : "5555555555" } 我的问题在于我所使用的api与以下站点阵列有关: { "results" : [
{
"site_id" : "1234567",
"address" : "123 FAKE ST., City, State Zip",
"phone_number" : "5555555555"
}
我的问题在于我所使用的api与以下站点阵列有关:
{
"results" : [
{
"site_id" : "1234567",
"address" : "123 FAKE ST., City, State Zip",
"phone_number" : "5555555555"
}
]
}
我想从该响应中解析的只是一个站点对象数组,但由于该数组嵌套在results对象中,所以我不确定如何执行此操作。有没有办法使用带弹簧的GsonHttpMessageConverter来实现这一点?这应该可以:
JSONArray array = jsonObject.getJSONArray("results");
//do whatever you would normally do with a JSON object here but with the array
我认为没有比这更复杂的了。我在一个非Android项目中使用了很多Gson,这样做非常适合我。我找到了我想要的答案。为了完成嵌套json列表的自动解析,我必须将我的对象嵌套在另一个对象中,并将其传递给Spring网络库。以下是所需的最终顶级模型:
public class SiteList {
private List<Site> results = new ArrayList<Site>();
public List<Site> getResults() {
return results;
}
public void setResults(List<Site> results) {
this.results = results;
}
}