spring mvc 返回Json数据时日期类型转换问题

来源:互联网 发布:sql算法 编辑:程序博客网 时间:2024/05/20 14:26

问题描述:(如图)

date=“1389110400000” 日期格式显示为一串数字


解决方法:(转自micmiu – 软件开发+生活点滴http://www.micmiu.com/ ]

定义Date自定义转换类
package com.empyrean.etv.core.util;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Locale;import net.sf.json.JsonConfig;import net.sf.json.processors.JsonValueProcessor;/*** JSON 日期格式处理(java转化为JSON)* @author Michael sun*/public class JsonDateValueProcessor implements JsonValueProcessor {    private String datePattern = "yyyy-MM-dd";    public JsonDateValueProcessor() {        super();    }    public JsonDateValueProcessor(String format) {        super();        this.datePattern = format;    }    public Object processArrayValue(Object value, JsonConfig jsonConfig) {        return process(value);    }    public Object processObjectValue(String key, Object value,            JsonConfig jsonConfig) {        return process(value);    }    private Object process(Object value) {        try {            if (value instanceof Date) {                SimpleDateFormat sdf = new SimpleDateFormat(datePattern,                        Locale.UK);                return sdf.format((Date) value);            }            return value == null ? "" : value.toString();        } catch (Exception e) {            return "";        }    }    public String getDatePattern() {        return datePattern;    }    public void setDatePattern(String pDatePattern) {        datePattern = pDatePattern;    }}
至此问题解决。


然后再返回数据是做处理
   @RequestMapping(value = "getModuleNews.do",produces="text/html;charset=gbk", method = {RequestMethod.GET,RequestMethod.POST})    public @ResponseBody    String getModuleNews(String id) {      log.info("getModuleNews:"+id);            List<News> newsList = newsService.queryNews(id);            List<String> voList = new ArrayList<String>();            for(News news : newsList){                SimpleNewsVo mnv = new SimpleNewsVo();                String images = news.getImages();                BeanUtils.copyProperties(news, mnv);                if(images!=null){                String[] image = images.split("#");                mnv.setImage(image[0]);                }else{                mnv.setImage(null);                }                BeanUtils.copyProperties(news, mnv);                //json日期转换处理                JsonConfig jsonConfig = new JsonConfig();                jsonConfig.registerJsonValueProcessor(Date.class,new JsonDateValueProcessor());                JSONObject jo = JSONObject.fromObject(mnv);                               voList.add(jo.toString());            }            return voList.toString();    }    }


0 0
原创粉丝点击