2012-01-30 63 views
1

我有以下的JSON对象:使用JSON-lib的解析日期

{ “的startDate”: “30/01/2008”, “startPeriod”: “2008”, “dboid”: “5308204301485575800000”,” action“:”update“,”grid“:”variantAssigGrid“,”endDate“:”30/01/2011“,”endPeriod“:”2011“,”institution“:”5301004301485575300000“}

应用JSONObject .toBean,开始日期和结束日期在结果bean中设置为当前系统日期(而不是json字符串中的值)。它看起来像是用新的Date()初始化的。

是否有任何指定日期格式的方法?我看了JsonConfig类没有太多成功。

在此先感谢!

+0

第一ckeck你的配置! – Chintan 2012-02-10 14:40:09

回答

1

注册自己的处理器...

this.jsonConfigToJSON = new JsonConfig(); 
this.jsonConfigToJSON.registerJsonValueProcessor(java.util.Date.class, new JsonValueProcessor() { 
    @Override 
    public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) { 
     return process(value, jsonConfig); 
    } 

    @Override 
    public Object processArrayValue(Object value, JsonConfig jsonConfig) { 
     return process(value, jsonConfig); 
    } 

    private Object process(Object value, JsonConfig jsonConfig) { 
     // For Unix Time 
     return ((Date) value).getTime()/1000L; 
    } 
});