您的位置:首页 > 移动开发 > Objective-C

解决easyui 中显示Date类型数据为[object Object],json中格式化日期

2014-12-24 16:52 609 查看
javabean中

public class Ent{

 /**

  *

  */

 private static final long serialVersionUID = 456194500355659344L;

 

 

 private String id;//主键,

 

 private String entName;//商家名称

 

 private Date smsSendTime;//发送时间  在bean中该字段类型为java.util.Date,  数据库中该字段类型为java.sql.Date

 

 private String remark;//备注

.......get和set方法

}

Struts2 action中

  jsonMap是从数据库中查出的javaBean的结果集

 yyyy-MM-dd HH:mm:ss该值可换成任何你想要在页面展示的日期格式

 JsonConfig config = new JsonConfig();         

  config.setIgnoreDefaultExcludes(false);          

  config.registerJsonValueProcessor(java.util.Date.class, new JsonDateValueProcessor("yyyy-MM-dd HH:mm:ss"));        

  jsonResult = JSONObject.fromObject(jsonMap,config);

JsonDateValueProcessor类的代码

/** 

* JSON 日期格式处理(java转化为JSON) 

*/

public class JsonDateValueProcessor implements JsonValueProcessor { 

 

    /** 

     * datePattern 

     */

    private String datePattern = "yyyy-MM-dd"; 

 

    public JsonDateValueProcessor() { 

        super(); 

    } 

 

    /** 

     * 可以根据构造传入格式化的格式

     */

    public JsonDateValueProcessor(String format) { 

        super(); 

        if(format != null && !"".equals(format)){

            this.datePattern = format; 

        }

    } 

    @Override

    public Object processArrayValue(Object value, JsonConfig jsonConfig) { 

        return process(value); 

    }

    @Override

    public Object processObjectValue(String key, Object value, 

            JsonConfig jsonConfig) { 

        return process(value); 

    } 

//用于格式化date类型的值

    private Object process(Object value) { 

        try { 

            if (value instanceof Date) { 

                SimpleDateFormat sdf = new SimpleDateFormat(datePattern, 

                        Locale.CHINESE); 

                return sdf.format((Date) value); 

            } 

            return value == null ? "" : value.toString(); 

        } catch (Exception e) { 

            return ""; 

        } 

 

    } 

 

    /** 

     * @return the datePattern 

     */

    public String getDatePattern() { 

        return datePattern; 

    } 

 

    /** 

     * @param pDatePattern the datePattern to set 

     */

    public void setDatePattern(String pDatePattern) { 

        datePattern = pDatePattern; 

    } 

 

}

按照上述格式可在页面中正确显示日期字段的数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐