2012-01-30 65 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; 
    } 
});