package com.zl.xbx.common.util;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Locale;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
class JsonDateProcessor implements JsonValueProcessor {
private String format = "yyyy-mm-dd hh:mm:ss";
public JsonDateProcessor() {
super();
}
public JsonDateProcessor(String format) {
super();
this.format = format;
}
@Override
public Object processObjectValue(String paramString, Object paramObject, JsonConfig paramJsonConfig) {
return myProcess(paramObject);
}
private Object myProcess(Object value) {
if (value instanceof Date) {
SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.CHINA);
return sdf.format(value);
}
return value == null ? "" : value.toString();
}
@Override
public Object processArrayValue(Object paramObject, JsonConfig paramJsonConfig
) {
return myProcess(paramObject);
}
}
public class JsonUtil {
/**
* @Title: main
* @Description: TODO(不扯淡你只需要拷贝亮哥的代码运行就好)
* @param @param
* args 入参
* @return void 返回类型
* @author 臧亮
* @throws @date
* 2018年4月27日 上午9:39:56
* @version V1.0
*/
public static void main(String[] args) {
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateProcessor());
HashMap<String, Date> hashMap = new HashMap<String, Date>();
hashMap.put("当前的时间", new Date());
JSONObject json = new JSONObject();
json.putAll(hashMap, jsonConfig);
System.out.println(json.toString());
// JavaBean转JSON
JSONObject fromObject = JSONObject.fromObject(hashMap, jsonConfig);
System.out.println(fromObject.toString());
}
}