1

我使用 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"
            }
    ]
    }

我想从该响应中解析的只是站点对象的数组,但是由于该数组嵌套在“结果”对象中,所以我不确定如何执行此操作。有没有办法使用带有 Spring 的 GsonHttpMessageConverter 来完成这个?

4

2 回答 2

0

我找到了我正在寻找的答案。为了完成嵌套 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;
    }
}
于 2012-12-05T20:01:46.407 回答
0

这应该有效:

JSONArray array = jsonObject.getJSONArray("results");
//do whatever you would normally do with a JSON object here but with the array

我不认为它比这更复杂。我在一个(非 Android)项目中使用了很多 Gson,这样做对我来说非常有效。

于 2012-12-04T20:50:20.290 回答