java-使用fastjson的一些问题

在使用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和包含时分秒的同时做处理.

自己写的一个转换工具类:

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import net.sf.json.JSONArray;

public class TransUtil {
	
	/**
	 * 将object转为json格式
	 */
	public static String obj2Json(Object object){
		return JSON.toJSONString(object);
	}
	
	public static String obj2JsonFmDate(Object object) {
		return JSON.toJSONStringWithDateFormat(object, "yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteDateUseDateFormat).replaceAll(" 00:00:00", ""); 
	}
	
	/**
	 * 将json转为实体类
	 */
	@SuppressWarnings({ "unchecked", "rawtypes" })
	public static Object json2Entity(String strJson,Class beanClass){
		return JSON.parseObject(strJson, beanClass);
	}
	
	/**
	 * 将json转为List
	 */
	public static Object json2ObjectList(String strJson, @SuppressWarnings("rawtypes") Class beanClass) {
		return JSONArray.toCollection(JSONArray.fromObject(strJson), beanClass);
	}
	
	/**
	 * json转为jsonobject
	 */
	public static JSONObject jsonToJsonObj(String json){
		JSONObject jsonObject = JSONObject.parseObject(json);
		return jsonObject;
	}
	
	/**
	 * jsonobject转为json
	 */
	public static String jsonObjToJson(JSONObject jsonObject){
		return jsonObject.toJSONString();
	}
	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小安灬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值