net.sf.json日付タイプフォーマット出力
もっと読む
Date、Timestamp
転載は[url]から
http://www.cnblogs.com/mjorcen/p/3780464.html[/url]
作成ツールクラス
Date、Timestamp
転載は[url]から
http://www.cnblogs.com/mjorcen/p/3780464.html[/url]
作成ツールクラス
package cn.jorcen.commons.util;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
public class DateJsonValueProcessor implements JsonValueProcessor {
/**
*
* G Era Text AD
* y Year 1996; 96
* M Month July; Jul; 07
* w Number 27
* W Number 2
* D Number 189
* d Number 10
* F Number 2
* E Text Tuesday; Tue
* a Am/pm Text PM
* H (0-23) Number 0
* k (1-24) Number 24
* K am/pm (0-11) Number 0
* h am/pm (1-12) Number 12
* m Number 30
* s Number 55
* S Number 978
* z General time zone Pacific Standard Time; PST; GMT-08:00
* Z RFC 822 time zone -0800
*/
public static final String Default_DATE_PATTERN = "yyyy-MM-dd HH:mm:ss";
private DateFormat dateFormat;
public DateJsonValueProcessor(String datePattern) {
try {
dateFormat = new SimpleDateFormat(datePattern);
} catch (Exception e) {
dateFormat = new SimpleDateFormat(Default_DATE_PATTERN);
}
}
public Object processArrayValue(Object value, JsonConfig jsonConfig) {
return process(value);
}
public Object processObjectValue(String key, Object value,
JsonConfig jsonConfig) {
return process(value);
}
private Object process(Object value) {
return dateFormat.format((Date) value);
}
}
テストクラス:
/**
*
*/
package cn.jorcen.commons.util;
import java.sql.Timestamp;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import net.sf.json.JsonConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
/**
*
* Json
*
* @author mjorcen
* @email [email protected]
* @dateTime Jun 4, 2014 4:11:20 PM
* @version 1
*/
public class FastJosnUtil {
public static final String toJson(Object obj) {
return toNetSFJson(obj);
}
private static String toNetSFJson(Object obj) {
JsonConfig config = new JsonConfig();
config.registerJsonValueProcessor(Date.class,
new DateJsonValueProcessor("yyyy-MM-dd hh:mm:ss"));
config.registerJsonValueProcessor(Timestamp.class,
new DateJsonValueProcessor("yyyy-MM-dd hh:mm:ss"));
String objStr = net.sf.json.JSONObject.fromObject(obj, config)
.toString();
return objStr;
}
public static final String toFastJson(Object obj) {
String objStr = com.alibaba.fastjson.JSONObject.toJSONString(obj,
SerializerFeature.WriteDateUseDateFormat,
SerializerFeature.WriteMapNullValue);
return objStr;
}
public static void main(String[] args) {
Map map = new HashMap();
map.put("time", new Date());
map.put("name", "yy");
map.put("age", 20);
map.put("timestamp", new Timestamp(System.currentTimeMillis()));
System.out.println(toJson(map));
}
}
結果:
{"timestamp":"2014-06-10 05:54:11","time":"2014-06-10 05:54:11","age":20,"name":"yy"}