阅读背景:

JsonObject 处理日期

来源:互联网 

    /*如果遇到了数据库返回的日期类型格局(数据库返回的是java.sql.Date())
       所以须要用jsonConfig 重新设置日期格局
     */
    JsonConfig jsonConfig=new JsonConfig();
    //将java.sql.Date()的日期格局转换成java.util.Date()并且设置转换的格局
     jsonConfig.registerJsonValueProcessor
       (java.sql.Date.class, new JsonDateValueProcessor());
    //创立一个jsonObject  用来将对象转换成json
    JSONObject jsonObject = new JSONObject();
    //设置对象
     jsonObject.put("total", total);
    jsonObject.put("statusCode", statusCode);
    jsonObject.put("message", message);
    //断定rows的类型是不是是聚集 用来辨别转换rows时用的对象
     if(rows instanceof java.util.List)
        jsonObject.put("rows", 
                      JSONArray.fromObject(rows,jsonConfig));
    else
        jsonObject.put("rows", 
                      JSONObject.fromObject(rows,jsonConfig));


import java.text.SimpleDateFormat;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
public class JsonDateValueProcessor implements JsonValueProcessor {
    //定义转换日期类型的输出格局
     private String format = "yyyy-MM-dd";
    @Override
    public Object processArrayValue(Object arg0, JsonConfig arg1) {
        return process(arg0);
    }
    private Object process(Object arg0) {
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        return sdf.format(arg0);
    }
    @Override
    public Object processObjectValue
                    (String arg0, Object arg1, JsonConfig arg2) {
        return process(arg1);
    }

}

    /*如果遇到了数据库返回的日期类型格局(数据库返回的是java.sql.Date())




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: