版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_17522211/article/details/84618509
在使用fastjson进行转换时,发现有一些问题,现整理如下:
maven:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.31</version>
</dependency>
java:
import com.alibaba.fastjson.JSON;
public class JsonUtil {
public static String obj2Json(Object object){
return JSON.toJSONString(object);
}
public static Object json2Entity(String strJson,Class beanClass){
return JSON.parseObject(strJson, beanClass);
}
}
问题1:
private String AGE; 转换后为 {"aGE":""}
解决方案:
1>
项目初始化或者执行转换前先执行:
TypeUtils.compatibleWithJavaBean =true;
2>
import com.alibaba.fastjson.annotation.JSONField;
getter方法添加:
@JSONField(name="RESP_CODE")
public String getRESP_CODE() {
return RESP_CODE;
}
问题2:
map里面如存Date类型,转换后为一串数字
解决方法:
转换时: JSON.toJSONStringWithDateFormat(object, "yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteDateUseDateFormat);
ps: 此种无法对yyyy-MM-dd和包含时分秒的同时做处理.