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。同时内部类也一定要序列化。
fastjson将json字符串转化成bean对象解析出错的检查方法的更多相关文章
- hutool-all 包把实体Bean转化成字符串,以及把字符串转化成Bean对象
GxyJobEntity gxyJobEntity1 = new GxyJobEntity(); gxyJobEntity1.setUserId("user001"); gxyJo ...
- fastjson将json字符串转化为java对象
目录 一.导入一个fastjson的jar包 二.Json字符串格式 三.根据json的格式创建Java类 四.给java类的所有属性添加setter方法 五.转换为java对象 一.导入一个fast ...
- [MVC_Json序列化]Json字符串反序列化成C#对象
上一篇中有Json序列化相关问题得到了解决. 那么结果集为Json串时,如何将Json串转成C#对象呢? 现举例说明: -现有如下字符串数据 string k = "{\"ring ...
- fastjson将json字符串转化成map的五种方法
package com.zkn.newlearn.json; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObj ...
- fastjson 将json字符串转化成List<Map<String, Object>>
亲测可行,如下: JSON.parseObject(jsonstr, new TypeReference<List<Map<String, Object>>>() ...
- C#将Json字符串反序列化成List对象类集合
摘自:http://blog.csdn.net/cdefg198/article/details/7520398 using System.IO; using System.Web.Script.Se ...
- js将json字符串转化成json对象的方法
js将json字符串转化成json对象的方法: JSON.parse(jsonObject)
- JSON字符串反序列化成对象_部分属性值反序列化失败
简介:本人在开发webapi接口时遇到了:一个复杂的Json字符串在反序列化为对象时报,无法发序列化其中的一个属性对象? 使用方法: InternalRecommendRequestFormModel ...
- fastjson转换json字符串key的首字母小写变大写的解决办法
https://blog.csdn.net/erbao_2014/article/details/53688934 问题描述在开发过程中,由于接口文档的描述,要求json字符串的key首字母为大写,而 ...
随机推荐
- ListFragment创建及其生命周期
相同的ListFragment 带有一个无参构造 一个有参构造 在该Fragment所依附的Activity视图创建时被实例化一次 方法周期分别为1.无参构造2.onInflate3.onAttach ...
- pycharm激活码,拿走不谢
激活码 新下载pycharm编辑器以后,会遇到一个激活的问题,否则只能试用30天 43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QTczWVlKIiwibGljZW5zZWVO ...
- JVM内存模型与性能调优
堆内存(Heap) 堆是由Java虚拟机(JVM,下文提到的JVM特指Sun hotspot JVM)用来存放Java类.对象和静态成员的内存空间,Java程序中创建的所有对象都在堆中分配空间,堆只用 ...
- PHP操作MongoDB学习笔记
<?php/*** PHP操作MongoDB学习笔记*///*************************//** 连接MongoDB数据库 **////*************** ...
- QRCode二维码生成
pom配置 <dependency> <groupId>com.github.cloudecho</groupId> <artifactId>qrcod ...
- eclipse 查看变量或方法在什么地方被调用的快捷键
选中方法名,点鼠标右键,菜单里有个”打开调用层次结构 ( Open Call Hierarchy )“,选中或者按下快捷键Ctrl+Alt+H,就在下面栏目里能看到调用的树形结构了. 或者: 1.双击 ...
- Ajax的封装03
一.Ajax 1.原理:基于http协议的 内置对象:XMLHttpRequest 发起请求 那会相应 步骤: var xhr=new XMLHttpRequest(); // 请 ...
- Html5知识
<!DOCTYPE> 声明 <!DOCTYPE>声明有助于浏览器中正确显示网页. 网络上有很多不同的文件,如果能够正确声明HTML的版本,浏览器就能正确显示网页内容. doct ...
- ado.net excel 模版
ado.net excel 模版 private static void Excute() { while (true) { ...
- Unity3D 物体移动方式
1. 简介 在Unity3D中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position. 2. 通过Transform组件移动物体 Transform 组件用于描述物体在 ...