关于jsonConfig的一些使用
List<SaleChance> saleChanceList=saleChanceService.find(map); long total=saleChanceService.getTotal(map); JSONObject result=new JSONObject(); JsonConfig jsonConfig=new JsonConfig(); jsonConfig.registerJsonValueProcessor(java.util.Date.class, new DateJsonValueProcessor("yyyy-MM-dd HH:mm:ss")); JSONArray jsonArray=JSONArray.fromObject(saleChanceList,jsonConfig);
package com.java1234.controller; import java.text.SimpleDateFormat; import net.sf.json.JsonConfig; import net.sf.json.processors.JsonValueProcessor; /** * json-lib 日期处理类 * @author Administrator * */ public class DateJsonValueProcessor implements JsonValueProcessor{ private String format; public DateJsonValueProcessor(String format){ this.format = format; } public Object processArrayValue(Object value, JsonConfig jsonConfig) { // TODO Auto-generated method stub 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(); } }
比如从后台查询出来的 saleChanceList 集合里,而saleChance里面有一个属性是Date类型,这是就需要用到jsonConfig的方法,来把Date类型转化为我们想要的字符串类型。
其中:
jsonConfig.registerJsonValueProcessor(java.util.Date.class, new DateJsonValueProcessor("yyyy-MM-dd HH:mm:ss"));
第一个参数是需要过滤的对象类型
第二个参数是处理类,以及处理结果的格式
JSONArray.fromObject(saleChanceList,jsonConfig);
第一个参数是需要转化集合对象
第二个参数是转化的配置,即把Date类型转化为我们想要的字符串类型