【问题标题】:Parsing dates with json-lib使用 json-lib 解析日期
【发布时间】:2012-05-29 06:40:30
【问题描述】:

我有以下 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 类,但没有取得多大成功。

提前致谢!

【问题讨论】:

  • 先检查你的配置!

标签: json json-lib


【解决方案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-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-19
    相关资源
    最近更新 更多