JSON.toJSONStringWithDateFormat 部分字段无法序列化

FastJson相关介绍

http://www.cnblogs.com/aliger/p/3916848.html

问题解决办法

实体类属性名驼峰写法,第一个驼峰前只有一个字母的属性无法序列化,如:uName (无法序列化) userName (可以序列化)
环境:jdk1.8,junit 4.1.2, fastjson 1.1.26 mysql5.7

错误重现

*1建表语句
DROP TABLE IF EXISTS mtt_member_new; CREATE TABLE mtt_member_new ( id int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID', un_name varchar(255) NOT NULL COMMENT '姓名', user_mobile int(20) DEFAULT NULL COMMENT '电话', u_email varchar(255) DEFAULT NULL COMMENT '电子邮箱', PRIMARY KEY (id), UNIQUE KEY username (un_name,user_mobile) ) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8

*2实体类
private Integer id;

private String unName;

private Integer userMobile;

private String uEmail;

*3 test测试类
MttMemberNew member = mttMemberNewMapper.selectByPrimaryKey(11);

logger.info(JSON.toJSONStringWithDateFormat(member, "yyyy-MM-dd HH:mm:ss"));

*4 测试结果
[org.junit.Test]{"id":11,"unName":"东魁","userMobile":13605715555}

uEmail没有显示出来,可能是FastJson的BUG

posted @ 2017-09-01 22:51  Sugata  阅读(5908)  评论(0编辑  收藏  举报