使用Jackson解析器时的默认构造函数问题

goonerDroid

我的模型getter setter类如下所示:-

@JsonIgnoreProperties(ignoreUnknown = true)
public class CuratedOffers {
    public CuratedOffers() {
    }

    @JsonProperty("response")
    private String response;
    public String getResponse() {
        return response;
    }
    public void setResponse(String response) {
        this.response = response;
    }

    @JsonProperty("data")
    private Data mData;
    public Data getmData() {
        return mData;
    }
    public void setmData(Data mData) {
        this.mData = mData;
    }

    @JsonIgnoreProperties(ignoreUnknown = true)
    public class Data{


        @JsonProperty("vendors")
        private List<Vendor> vendorList;
        public List<Vendor> getVendorList() {
            return vendorList;
        }
        public void setVendorList(List<Vendor> vendorList) {
            this.vendorList = vendorList;
        }
    }

    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Vendor {



        @JsonProperty("id")
        private String Id;
        public String getId() {
            return Id;
        }
        public void setId(String id) {
            Id = id;
        }



        @JsonProperty("name")
        private String venName;
        public String getVenName() {
            return venName;
        }
        public void setVenName(String venName) {
            this.venName = venName;
        }

        @JsonProperty("image")
        private String image;
        public String getImage() {
            return image;
        }
        public void setImage(String image) {
            this.image = image;
        }

        @JsonProperty("logo")
        private String logo;
        public String getLogo() {
            return logo;
        }
        public void setLogo(String logo) {
            this.logo = logo;
        }


        @JsonProperty("offers")
        private String offers;
        public String getOffers() {
            return offers;
        }
        public void setOffers(String offers) {
            this.offers = offers;
        }

        @JsonProperty("description")
        private String offer_description;
        public void setOffer_description(String offer_description) {
            this.offer_description = offer_description;
        }
        public String getOffer_description() {
            return offer_description;
        }
    }
}

我在通过gradle编译时使用杰克逊即:-

compile 'com.fasterxml.jackson.core:jackson-databind:2.4.2'
compile 'com.fasterxml.jackson.core:jackson-annotations:2.4.2'
compile 'com.fasterxml.jackson.core:jackson-core:2.4.2'

编译后,我一直在我的堆栈跟踪中收到此错误

com.fasterxml.jackson.databind.JsonMappingException: No suitable constructor found for type [simple type, class com.yoy.CuratedOffers$Data]: can not instantiate from JSON object (need to add/enable type information?)

搜索没有任何合适的答案。将不胜感激!

goonerDroid

正如@ vilpel89所建议的那样,我忘记在CuratedOffers类中声明一个静态嵌套类。现在我更新的类是:-

@JsonIgnoreProperties(ignoreUnknown = true)
public class CuratedOffers {
    public CuratedOffers() {
    }

    @JsonProperty("response")
    private String response;
    public String getResponse() {
        return response;
    }
    public void setResponse(String response) {
        this.response = response;
    }

    @JsonProperty("data")
    private Data mData;
    public Data getmData() {
        return mData;
    }
    public void setmData(Data mData) {
        this.mData = mData;
    }

    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Data{
        public Data() {
        }

        @JsonProperty("vendors")
        private List<Vendor> vendorList;
        public List<Vendor> getVendorList() {
            return vendorList;
        }
        public void setVendorList(List<Vendor> vendorList) {
            this.vendorList = vendorList;
        }
    }

    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Vendor {

        public Vendor() {
        }

        @JsonProperty("id")
        private String Id;
        public String getId() {
            return Id;
        }
        public void setId(String id) {
            Id = id;
        }



        @JsonProperty("name")
        private String venName;
        public String getVenName() {
            return venName;
        }
        public void setVenName(String venName) {
            this.venName = venName;
        }

        @JsonProperty("image")
        private String image;
        public String getImage() {
            return image;
        }
        public void setImage(String image) {
            this.image = image;
        }

        @JsonProperty("logo")
        private String logo;
        public String getLogo() {
            return logo;
        }
        public void setLogo(String logo) {
            this.logo = logo;
        }


        @JsonProperty("offers")
        private String offers;
        public String getOffers() {
            return offers;
        }
        public void setOffers(String offers) {
            this.offers = offers;
        }

        @JsonProperty("description")
        private String offer_description;
        public void setOffer_description(String offer_description) {
            this.offer_description = offer_description;
        }
        public String getOffer_description() {
            return offer_description;
        }
    }
}

在我的Data类和Vendor类中添加了一个静态构造函数,同时还向其添加了默认构造函数,现在它就像一种魅力一样工作,希望有一天能对某人有所帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Jackson解析器进行解析

来自分类Dev

(SBT)如何禁用默认解析器,仅使用公司内部解析器?

来自分类Dev

使用caffe解析器支持构建armNN时出现问题

来自分类Dev

在Fastify addContentTypeParser中使用默认的JSON解析器

来自分类Dev

解析器XML问题

来自分类Dev

如何在使用Jackson和@JSonPOJOBuilder反序列化JSON时检索解析器上下文

来自分类Dev

使用解析器组合器时堆栈溢出

来自分类Dev

使用模块解析器时Metro捆绑器错误

来自分类Dev

创建数组Java时的默认构造函数问题

来自分类Dev

使用ArrayAdapter时无法解析构造函数

来自分类Dev

Jackson JSON解析器性能

来自分类Dev

NoClassDefFoundError:org / codehaus / jackson /使用Jackson JSON解析器版本化

来自分类Dev

使用解析器从javascript中提取私有函数

来自分类Dev

使用 boost-spirit 的函数解析器

来自分类Dev

Ubuntu默认docx解析器

来自分类Dev

如何在Android中使用Jackson解析器处理JSON数组解析

来自分类Dev

需要DocumentBuilder时使用SAX解析器

来自分类Dev

使用argparse时,次级解析器是天生互斥的吗?

来自分类Dev

使用Python进行解析器时的Shift / Reduce冲突

来自分类Dev

使用Java解析器从xml获取属性时出错

来自分类Dev

AutoMapper自定义解析器在构造函数中询问可选参数

来自分类Dev

SignalR-结构构造函数依赖项注入:Signalr结构图解析器

来自分类Dev

如何在使用合成时使用默认构造函数

来自分类Dev

ANTLR4解析器问题

来自分类Dev

DNS解析器问题Composer 2

来自分类Dev

通用Feed解析器问题

来自分类Dev

Java解析器时间问题

来自分类Dev

解析器中的 Angular HttpClient 问题

来自分类Dev

如何使用Gradle将Boon或Jackson JSON解析器添加到Android项目?

Related 相关文章

热门标签

归档