Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Spring和GsonHttpMessageConverter进行嵌套JSON解析?_Java_Android_Spring_Gson - Fatal编程技术网

Java 使用Spring和GsonHttpMessageConverter进行嵌套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" : [

我使用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"
            }
    ]
    }
我想从该响应中解析的只是一个站点对象数组,但由于该数组嵌套在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;
    }
}