JSON 日期格式处理(JAVA->JSON)

 1 public class JsonDateValueProcessor implements JsonValueProcessor {
 2     private String format = "yyyy-MM-dd";
 3     
 4     public JsonDateValueProcessor() {
 5         super();
 6     }
 7     
 8     public JsonDateValueProcessor(String format) {
 9         super();
10         this.format = format;
11     }
12     @Override
13     public Object processArrayValue(Object value, JsonConfig jsonConfig) {
14         String[] obj = {};
15         if (value instanceof Timestamp[]){  ----->Date 类型 Timestamp 全改 Date
16             SimpleDateFormat sf = new SimpleDateFormat(format);
17             Timestamp[] dates = (Timestamp[]) value;
18             obj = new String[dates.length];
19             for (int i=0; i<dates.length; i++){
20                 obj[i] = sf.format(dates[i]);
21             }
22         }
23         return obj;
24     }
25 
26     @Override
27     public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) {
28         if (value instanceof Timestamp) {  
29             String str = new SimpleDateFormat(format).format((Timestamp) value);  
30             return str;  
31         }  
32         return value.toString();  
33     }
34 
35     public String getFormat() {
36         return format;
37     }
38 
39     public void setFormat(String format) {
40         this.format = format;
41     }
42 
43 }

使用: 

1 //日期格式按此进行json转换
2 JsonConfig jsonConfig = new JsonConfig();
3 jsonConfig.registerJsonValueProcessor(Timestamp.class, new JsonDateValueProcessor());

可能异常:(参考:http://www.tuicool.com/articles/2qYfMb)

1. java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException

    解决办法:需要导入commons-lang-2.5.jar包

2. java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

 

   解决办法:需要导入 commons-logging-1.1.1.jar 包

3 . java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap

   解决办法:需要导入 commons-collections-3.1.jar 包

使用json时需要用到的jar包有以下几个(版本不限):

commons-beanutils-1.7.0.jar

commons-collections-3.1.jar

commons-lang-2.5.jar

commons-logging-1.1.1.jar

ezmorph-1.0.3.jar

json-lib-2.2.2-jdk15.jar

 

posted @ 2017-06-23 09:30  好奇害死猫+1  阅读(2368)  评论(0编辑  收藏  举报