首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我不能反序列化包含纬度和经度的数组

我不能反序列化包含纬度和经度的数组
EN

Stack Overflow用户
提问于 2020-01-19 11:56:49
回答 2查看 61关注 0票数 2

我正在从一个具有经纬度数组的空气质量站点反序列化Json。Json看起来像这样:

代码语言:javascript
复制
{
  "geo": [
    -36.05035,
    146.942
  ],
  "name": "Albury South-west Slopes, Australia",
  "url": "https://aqicn.org/city/australia/nsw/albury/south-west-slopes"
}

我已经编写了一个自定义的反序列化程序,它可以完成这项工作,但我不能反序列化"geo": [-36.05035, 146.942]

我的代码如下所示:

代码语言:javascript
复制
public static class City {
    private Geo[] geo;
    private String name;
    private String url;

    public Geo[] getGeo() {
        return geo;
    }

    public void setGeo(Geo[] geo) {
        this.geo = geo;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }
}

public static class Geo {
    //what are the getters and setters for an array with no names just numbers?
}

我被难住了,谢谢,菲尔

EN

回答 2

Stack Overflow用户

发布于 2020-01-19 13:51:14

您可以将Jackson与自定义的反序列化程序一起使用。作为参考,您可以查看Custom deserializer

票数 1
EN

Stack Overflow用户

发布于 2020-01-20 19:33:36

假设geoList<Double>,而不是嵌套类:

代码语言:javascript
复制
public static class City {
    private List<Double> geo;
    private String name;
    private String url;

    public List<Double> getGeo() {
        return geo;
    }

    public void setGeo(List<Double> geo) {
        this.geo = geo;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }
}

然后反序列化应该是简单的:

代码语言:javascript
复制
String json = "{\"geo\":[-36.05035,146.942],\"name\": \"Albury South-west Slopes, Australia\",\"url\": \"https://aqicn.org/city/australia/nsw/albury/south-west-slopes\"}";
City city = new Gson().fromJson(json, City.class);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59807040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档