zoukankan      html  css  js  c++  java
  • fastjson将json字符串转化成bean对象解析出错的检查方法

    我的情况是:解析第一层数据成功,解析第二层嵌套的数据失败。如:

    {
      "response": {
        "resultcode": "0",
        "errormsg": "查询成功",
        "poifrid": "3535353",
        "cardno": "545353535",
        "name": "gesrresge",
        "sex": "1",
        "birthday": "refwrefwr",
        "cardstatus": "0",
        "identityid": "6464646",
        "phone": "4353422"
      }
    }
    
    TestPerson person2 = JSON.parseObject(jsonObj.toString().toLowerCase(), TestPerson.class);
    

      

    我的解决方法是:

    1、检查内部类是不是static的。

    2、检查有没有写构造方法。

    3、先将bean对象转化成json字符串输出,将json字符串和自己的字符串做对比,看看哪里不一样。

            TestPerson.Response response2 = new TestPerson.Response();
                    response2.setSex("56");
                    response2.setName("rg4g");
                    response2.setSex("565");
                    response2.setBirthday("190231313");
                    response2.setCardno("t4t43t");
                    response2.setCardstatus("3ffg3");
                    response2.setErrormsg("uj67j764");
                    response2.setIdentityid("54gg4");
                    response2.setPatientid("99707");
                    response2.setPhone("5t4t45");
                    response2.setResultcode("0");
                    TestPerson person = new TestPerson();
                    person.setResponse(response2);
                    Log.e("bean2json-string:",JSON.toJSONString(person));
    

     TestPerson.java如下:

    package com.kevinchan.fangding.Fragment;
    
    import android.util.Log;
    
    import java.io.Serializable;
    
    /**
     * Created by Jackie on 2016/12/13.
     */
    
    public class TestPerson implements Serializable {
    
        public TestPerson() {
    //        setResponse2(this.Response2);
        }
    
        private Response response;
    
        public void setResponse(Response response){
            this.response = response;
        }
        public Response getResponse(){
            return this.response;
        }
    
    
        public static class Response {
            public Response(){
    
            }
    
            private String resultcode;
    
            private String errormsg;
    
            private String patientid;
    
            private String cardno;
    
            private String name;
    
            private String sex;
    
            private String birthday;
    
            private String cardstatus;
    
            private String identityid;
    
            private String phone;
    
            public void setResultcode(String resultcode){
                this.resultcode = resultcode;
            }
            public String getResultcode(){
                return this.resultcode;
            }
            public void setErrormsg(String errormsg){
                this.errormsg = errormsg;
            }
            public String getErrormsg(){
                return this.errormsg;
            }
            public void setPatientid(String patientid){
                this.patientid = patientid;
            }
            public String getPatientid(){
                return this.patientid;
            }
            public void setCardno(String cardno){
                this.cardno = cardno;
            }
            public String getCardno(){
                return this.cardno;
            }
            public void setName(String name){
                this.name = name;
            }
            public String getName(){
                return this.name;
            }
            public void setSex(String sex){
                this.sex = sex;
            }
            public String getSex(){
                return this.sex;
            }
            public void setBirthday(String birthday){
                this.birthday = birthday;
            }
            public String getBirthday(){
                return this.birthday;
            }
            public void setCardstatus(String cardstatus){
                this.cardstatus = cardstatus;
            }
            public String getCardstatus(){
                return this.cardstatus;
            }
            public void setIdentityid(String identityid){
                this.identityid = identityid;
            }
            public String getIdentityid(){
                return this.identityid;
            }
            public void setPhone(String phone){
                this.phone = phone;
            }
            public String getPhone(){
                return this.phone;
            }
    
        }
    }
    

     注意:bean对象传递时类要序列化,实现Serializable类。implements Serializable。同时内部类也一定要序列化。

     

  • 相关阅读:
    βVAE学习
    条件GAN学习
    epoll的事件的状态
    RST报文产生的情况
    SIGPIPE信号产生原因
    methods事件
    for列表渲染
    if条件渲染
    data数据
    vue的简单上手
  • 原文地址:https://www.cnblogs.com/Jackie-zhang/p/6198288.html
Copyright © 2011-2022 走看看