fastjson将json字符串转化成bean对象解析出错的检查方法

时间:2022-10-26 15:05:32

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

{
"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。同时内部类也一定要序列化。