关于ajax接受java返回值日期显示Object的问题

前言

小编最近在做项目的时候遇到一个问题,就是前后台做ajax异步查询的时候,返回给ajax的时间在页面显示Object,当时很头疼,在网上查了半天,最后终于解决了。在这大家也可以参考一下。方便以后遇到问题好解决。

首先写一个工具类,用到直接调用即可。

import java.text.SimpleDateFormat;
import java.util.Date;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
/** * 扩展JsonValueProcessor接口获得相应转换的日期格式 * * @author Hellohao * */
public class JsonValueProcessorImpl implements JsonValueProcessor { private String format = "yyyy-MM-dd"; public String getFormat() { return format; } public void setFormat(String format) { this.format = format; } public JsonValueProcessorImpl() { super(); } public JsonValueProcessorImpl(String format) { super(); this.format = format; } public Object processArrayValue(Object value, JsonConfig jsonConfig) { String[] obj = {}; if (value instanceof Date[]) { SimpleDateFormat sf = new SimpleDateFormat(format); Date[] dates = (Date[]) value; obj = new String[dates.length]; for (int i = 0; i < dates.length; i++) { obj[i] = sf.format(dates[i]); } } return obj; } public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) { String val = ""; if (value instanceof java.util.Date) { String str = new SimpleDateFormat(format).format((Date) value); return str; } if (value != null) { val = value.toString(); } return val; }
}

然后大家直接调用使用就可以。

//json 与 bean 之间的date转换,解决json接受日期在页面上显示object
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.registerJsonValueProcessor(java.util.Date.class,new JsonValueProcessorImpl());
JSONObject JsonObject = JSONObject.fromObject(newWorkPlan, jsonConfig); //使用JSONObject类型变量JsonObject接收json值即可

本文由 Hellohao 作者:hellohao 发表,其版权均为 Hellohao 所有,文章内容系作者个人观点,不代表 Hellohao 对观点赞同或支持。如需转载,请注明文章来源。
0

发表评论