`

No-args constructor for class does not exist. Register an InstanceCreator with G

阅读更多
有时候我们在使用Googel官方的json解析包时,如果自己的实体类中出现代参的构造函数,如;

[*]public class InformationSummary {
[*]    /**
[*]     * id
[*]     */
[*]    public String id;
[*]
[*]    /**
[*]     * 栏目名称
[*]     */
[*]    public String name;
[*]
[*]    /**
[*]     * 栏目图片
[*]     */
[*]    public String picture;
[*]
[*]    /**
[*]     * 栏目内容
[*]     */
[*]    public String content;
[*]
[*]    /**
[*]     * 新闻头条id
[*]     */
[*]    public String newsId;
[*]
[*]    /**
[*]     * 子业务编码
[*]     */
[*]    public String subCode;
[*]    
[*]   
[*]
[*]    public InformationSummary(String id, String name, String picture, String content) {
[*]        super();
[*]        this.id = id;
[*]        this.name = name;
[*]        this.picture = picture;
[*]        this.content = content;
[*]    }

如果这样写的话,有时候会报这样的错误;

06-26 17:08:59.723: W/System.err(4724): java.lang.RuntimeException: No-args constructor for class com.funo.health.bean.business.InformationSummary does not exist. Register an InstanceCreator with Gson for this type to fix this problem.
06-26 17:08:59.723: W/System.err(4724): at com.google.gson.MappedObjectConstructor.constructWithNoArgConstructor(MappedObjectConstructor.java:64)

简单认识就是我们自己写了构造函数后,本身自带的无参就会忽略,但是json.jar包中的Gson,需要!简单方法就是加上无参数构造函数!




参考:
http://stackoverflow.com/questions/3294829/java-reading-json-null
1
2
分享到:
评论

相关推荐

    tftp-server-0.42-3.1.i386.rpm.

    将`disable = yes`改为`disable = no`,并确保`server_args`指向TFTP服务器的根目录。 然后,重启xinetd服务以应用更改: ```bash sudo service xinetd restart ``` 现在,TFTP服务器已经启动并可以对外提供服务。...

    mysql-connector-java-5.1.40.tar.gz

    public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/mydatabase"; String username = "root"; String password = "password"; try { Class.forName(...

    mysql-connector-java-5.1.7-bin.jar

    public static void main(String[] args) { try { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/mydatabase", "username", ...

    mysql-connector-java-5.1.44-bin.jar 包

    public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/mydatabase"; String user = "username"; String password = "password"; try { Class.forName(...

    rh-nodejs8-nodejs-process-nextick-args-1.0.7-2.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    rh-nodejs6-nodejs-process-nextick-args-1.0.7-2.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    rh-nodejs6-nodejs-process-nextick-args-1.0.7-1.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    apache-shardingsphere-elasticjob-3.1.0-SNAPSHOT-lite-ui-bin.tar.

    基于shardingsphere-elasticjob-ui 的3.1.0版本打出来的elasticjob-lite软件包,可以解压后直接使用. 登录地址:ip:8088,登录账号/密码:root/root 在软件包中的conf/application.properties 文件中可以直接修改...

    mysql-connector-java-5.1.22-bin.jar

    在Java应用程序中,开发人员通常会通过`Class.forName()`方法加载这个驱动,然后使用`DriverManager.getConnection()`来建立到MySQL数据库的连接。 使用`mysql-connector-java-5.1.22-bin.jar`时,首先需要将其添加...

    参数-VA-ARGS- 与...的用法与区别

    在C和C++编程语言中,`__VA_ARGS__` 和 `...` 是处理可变参数的关键元素,它们各自有着特定的用途和上下文。理解它们的区别对于编写涉及可变参数的宏和函数至关重要。 首先,`__VA_ARGS__` 是预处理器宏中的一个...

    args.cpython-36.pyc

    args.cpython-36.pycargs.cpython-36.pycargs.cpython-36.pycargs.cpython-36.pycargs.cpython-36.pycargs.cpython-36.pycargs.cpython-36.pycargs.cpython-36.pycargs.cpython-36.pycargs.cpython-36.pycargs....

    linux mysql-connector-java-5.1.36.tar.gz

    public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/mydatabase"; String username = "root"; String password = "password"; try { Class.forName(...

    icepdf-core.jar,icepdf-viewer.jar,icepdf-pro.jar,icepdf-pro-intl.jar

    public static void main(String[] args) { String pdfFilePath = "path_to_your_pdf.pdf"; int pageIndex = 0; // 要转换的页面索引,从0开始 try (PDFDocument document = new PDFDocument(pdfFilePath)) { ...

    args4j-tools-2.0.15-javadoc.jar.zip

    《args4j-tools-2.0.15-javadoc.jar.zip: 了解args4j工具与Java文档》 args4j-tools-2.0.15-javadoc.jar.zip 是一个包含args4j库的Java文档(Javadoc)的压缩文件,主要用于提供args4j库的详细API文档,方便开发者...

    nmap_nse_vulscan.rar

    nmap -sV --script=vulscan/vulscan.nse --script-args vulscandb=cve.csv [ip] #使用特定的库cve.csv扫描 nmap -sV --script=vulscan/vulscan.nse --script-args vulscandb=exploitdb.csv [ip] nmap -sV --script=...

    Python库 | http-request-args-0.1.31.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:http-request-args-0.1.31.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    args4j-tools-2.0.12-sources.jar.zip

    《args4j-tools-2.0.12-sources.jar.zip:深入了解args4j与Java命令行参数处理》 在Java编程中,处理命令行参数是常见任务之一,尤其是在开发命令行工具或需要从外部接收输入的情况下。args4j是一个轻量级、易于...

    args4j-2.0.2.jar.zip

    "args4j-2.0.2.jar.zip"是一个压缩包文件,包含了args4j库的版本2.0.2的Java档案(JAR)以及一个名为"args4j-1.0-RC.license.txt"的文本文件,很可能是该库的许可协议。args4j是一个用于Java命令行参数解析的开源库...

    args4j-tools-2.0.16-sources.jar.zip

    《args4j-tools-2.0.16-sources.jar.zip:深入了解args4j库的源码》 在Java开发中,args4j是一个广泛使用的轻量级命令行参数解析库,它使得处理命令行参数变得简单而直观。args4j-tools-2.0.16-sources.jar.zip是...

    mysql-connector-java-5.1.25.tar.gz

    public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/mydatabase"; String user = "username"; String password = "password"; try { Connection conn = DriverManager.get...

Global site tag (gtag.js) - Google Analytics