问题:
java对象转json串时,把date类型对象也解析了。
解决办法:
JSONObject.fromObject(bean,jsonConfig);
有一个jsonConfig对象,可以对json解析进行配置。
一、创建一个类实现JsonValueProcessor
package cn.com.maxtech.eee.json.valueProcessor;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
import java.text.SimpleDateFormat;
public class DateJsonValueProcessor implements JsonValueProcessor {
/**
* 处理数组中的Date对象
*/
@Override
public Object processArrayValue(Object o, JsonConfig jsonConfig) {
return o!=null?new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(o):null;
}
/**
* 处理单个Date对象
*/
@Override
public Object processObjectValue(String s, Object o, JsonConfig jsonConfig) {
return o!=null?new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(o):null;
}
}
二、配置
//创建JsonConfig
JsonConfig jsonConfig=new JsonConfig();
//配置Date对象解析器
jsonConfig.registerJsonValueProcessor(Date.class,new DateJsonValueProcessor());
JSONObject jsonObject = JSONObject.fromObject(bean,jsonConfig);
system.out.print(jsonObject.toString());
当然了,嫌麻烦可以直接使用匿名内部类