JSON到Java对象反序列化

时间:2015-11-19 09:43:48

标签: java json gson json-deserialization

我正在尝试将JSON字符串反序列化为Java对象:

{
  "Sites": [
    "tracking.vcommission.com",
    "in.static.planet49.com",
    "feclik.com",
    "bjuyko.com",
    "facebook.com",
    "offer.alibaba.com",
    "adnetworkperformance.com",
    "click.primosearch.com",
    "yourtest-india.com",
    "amazon.in"
  ],
  "StartDate": "08/2015",
  "EndDate": "10/2015"
}

这是相应的Java Object类:

public static class Output {
    private Sites[] Sites;

    public Sites[] getSites() {
       return Sites;
    }

    public void setSites(Sites[] sites) {
      this.Sites = sites;
    }
}

我正在使用GSON来执行反序列化。这是代码 -

Gson gson = new GsonBuilder().create();
Output output = gson.fromJson(sitesJSONString, Output.class);

执行时,我得到空的Sites Array。这是因为Sites JSON Array没有密钥。如果是这样,是否有任何解决方法来正确反序列化这样的字符串。我用谷歌搜索但没有发现任何东西。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

您是否尝试将网站指定为字符串列表?

public static class Output {
private List<String> Sites;

public List<String> getSites() {
   return Sites;
}

public void setSites(List<String> sites) {
  this.Sites = sites;
}
}