java后台后台解决 json-lib封装的时间

1.   Json-lib可以将Java对象很方便的转成json格式的字符串

但是java里面时间类型转换成json数据就成这样啦
"createTime":{"date":30,"day":3,"hours":15,"minutes":14,"month":3,"nanos":0,"seconds"
:38,"time":1209539678000,"timezoneOffset":-480,"year":108}

2.解决方式如下

List<Dept> deptList = deptService.selectBypage(map);

int count = deptService.selectDept();

JSONArray ja = new JSONArray();

JsonConfig jf = new JsonConfig();

这种是时间戳Timestamp

jf.registerJsonValueProcessor(java.sql.Timestamp.class, new DateJsonValueProcessor("yyyy-MM-dd"));

还有一种是Date

jf.registerJsonValueProcessor(java.util.Date.class, new DateJsonValueProcessor("yyyy-MM-dd"));  

JSONObject jsonObject = new JSONObject();

jsonObject.put("count", count);

jsonObject.put("code", 0);

jsonObject.put("msg", "null");

jsonObject.put("data", ja.fromObject(deptList, jf));

注意:以上这种返回格式是使用layui所返回的json参数类型

DateJsonValueProcessor是实现了一个JsonValueProcessor接口

新建DateJsonValueProcessor实现json-lib中的sonValueProcessor接口

package com.siyuan.service.Impl;

import java.text.SimpleDateFormat;

import net.sf.json.JsonConfig;

import net.sf.json.processors.JsonValueProcessor;  

public class DateJsonValueProcessor implements JsonValueProcessor {

private String format;  

    public DateJsonValueProcessor(String format){  

        this.format = format;  

    }  

      

    public Object processArrayValue(Object value, JsonConfig jsonConfig)  

    {  

        return null;  

    }  

  

    public Object processObjectValue(String key, Object value, JsonConfig jsonConfig)  

    {  

        if(value == null)  

        {  

            return "";  

        }  

        if(value instanceof java.sql.Timestamp)  

        {  

            String str = new SimpleDateFormat(format).format((java.sql.Timestamp)value);  

            return str;  

        }  

        if (value instanceof java.util.Date)  

        {  

            String str = new SimpleDateFormat(format).format((java.util.Date) value);  

            return str;  

        }  

          

        return value.toString();  

    }  

}

以上代码是时间类型被处理格式化

这样就解决了以上问题,运行结果为

{"count":11,"code":0,"msg":null,"data":[{"deleteflg":0,"deptid":1,"deptname":"人事部","inserttime":"2018-02-02","updatetime":"2018-02-02"},{"deleteflg":0,"deptid":2,"deptname":"采购部","inserttime":"2018-02-02","updatetime":"2018-02-02"},{"deleteflg":0,"deptid":3,"deptname":"技术部","inserttime":"2018-02-03","updatetime":"2018-02-03"},{"deleteflg":0,"deptid":4,"deptname":"调研部","inserttime":"2018-02-03","updatetime":"2018-02-03"},{"deleteflg":0,"deptid":5,"deptname":"运维部","inserttime":"2018-02-03","updatetime":"2018-02-03"},{"deleteflg":0,"deptid":6,"deptname":"总裁部","inserttime":"2018-02-03","updatetime":"2018-02-03"},{"deleteflg":0,"deptid":7,"deptname":"秘书部","inserttime":"2018-02-03","updatetime":"2018-02-03"},{"deleteflg":0,"deptid":8,"deptname":"经理部","inserttime":"2018-02-03","updatetime":"2018-02-03"},{"deleteflg":0,"deptid":9,"deptname":"财务部","inserttime":"2018-02-03","updatetime":"2018-02-03"},{"deleteflg":0,"deptid":10,"deptname":"科研部","inserttime":"2018-02-03","updatetime":"2018-02-03"}]}

希望能够帮助到大家

猜你喜欢

转载自my.oschina.net/u/3459265/blog/1618144