用json-lib解析日期

时间:2012-01-30 13:41:35

标签: json json-lib

我有以下JSON对象:

{ “的startDate”: “30/01/2008”, “startPeriod”: “2008”, “dboid”: “5308204301485575800000”, “动作”: “更新”, “网格”: “variantAssigGrid”,“结束日期“:” 30/01/2011" , “endPeriod”: “2011”, “机构”: “5301004301485575300000”}

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

有没有办法指定日期格式?我查看了JsonConfig类没有太大的成功。

提前致谢!

1 个答案:

答案 0 :(得分: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;
    }
});