关于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类型转化为我们想要的字符串类型


posted @ 2016-02-19 16:28  DMC_HZP  阅读(426)  评论(0编辑  收藏  举报