1

我有以下 JSON 对象:

{"startDate":"30/01/2008","startPeriod":"2008","dboid":"5308204301485575800000","action":"update","grid":"variantAssigGrid","endDate":" 30/01/2011","endPeriod":"2011","机构":"5301004301485575300000"}

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

有没有办法指定日期格式?我查看了 JsonConfig 类,但没有取得多大成功。

提前致谢!

4

1 回答 1

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;
    }
});
于 2012-05-28T22:40:30.990 回答