zoukankan      html  css  js  c++  java
  • JsonCofig 去除日期

    在使用Extjs的时候会有list想前台放回数据,jsonArray对日期的处理会处理成日期对象,按照时分秒的形式来处理;
    为此,可以使用jsonconfig来处理日期的形式;
    下面这个方法是将数据库中的含有时分秒的格式转换为日期;不含时分秒;发送到前台的数据是个string类型
    可以在format中填写你想要的日期格式就可以转换;
    在    registerJsonValueProcessor这个方法中,注意导入的数据库中的日期类型,而不是java的,可以将第一个参数
    更改为Date 那么String str = new SimpleDateFormat(format).format((Timestamp) value);里面的日期也会随之更改;
    JsonConfig jsonConfig = new JsonConfig();
            jsonConfig.setExcludes(new String[]{
             "invoice","creatorId""modifyDate""modifyId","modifyName","createDate","modifyDate","creatorName"
            });
    jsonConfig.registerJsonValueProcessor(java.sql.Timestamp.class,new JsonValueProcessor() {
                private final String format="yyyy-MM-dd";
                public Object processObjectValue(String key, Object value,JsonConfig arg2){
                  if(value==null)
                        return "";
                  if (value instanceof Timestamp) {
                        String str = new SimpleDateFormat(format).format((Timestamp) value);
                        return str;
                  }
                        return value.toString();
                }
          
                public Object processArrayValue(Object value, JsonConfig arg1){
                           return null;
                }
             });
            JSONArray json = JSONArray.fromObject(inventoryList,jsonConfig);
    如果string无法满足你的需求,那么可以书写
    package com.sinosoft.pmhy.util.conver;
    import java.util.Date;

    import org.apache.commons.lang.time.DateFormatUtils;

    import net.sf.json.JSONObject;
    import net.sf.json.JsonConfig;
    import net.sf.json.processors.JsonBeanProcessor;

    public class MyJsDateJsonBeanProcessor implements JsonBeanProcessor {
            public static String DEFAULT_DATE_PATTERN = "yyyy-MM-dd HH:mm";

            public static String processDate(Date date) {
                    return DateFormatUtils.format(date, DEFAULT_DATE_PATTERN);
            }

            private String datePattern = null;

            public String getDatePattern() {
                    if (datePattern == null) {
                            return DEFAULT_DATE_PATTERN;
                    } else {
                            return datePattern;
                    }
            }

            public void resetDatePattern() {
                    datePattern = null;
            }

            public JSONObject processBean(Object bean, JsonConfig jsonConfig) {
                    if (bean instanceof java.sql.Date) {
                            java.sql.Date d = (java.sql.Date) bean;

                            long time = d.getTime();
                            String pattern = getDatePattern();
                            String date = DateFormatUtils.format(time, pattern);
                            return makeJSONObject(date, time, pattern);
                    }

                    if (bean instanceof Date) {
                            Date d = (Date) bean;

                            long time = d.getTime();
                            String pattern = getDatePattern();
                            String date = DateFormatUtils.format(time, pattern);
                            return makeJSONObject(date, time, pattern);
                    }

                    return new JSONObject(true);
            }

            private static JSONObject makeJSONObject(String date, long time,
                            String pattern) {
                    JSONObject jsonObject = new JSONObject();
                    jsonObject.element("date", date);
                    jsonObject.element("time", time);
                    jsonObject.element("pattern", pattern);
                    return jsonObject;
            }
    }
    这样的转换时间可以满足日期,和时间的获取




  • 相关阅读:
    086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结
    085 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 04 构造方法调用
    jQuery UI组件库Kendo UI使用技巧小分享
    Kendo UI ListView模板功能,让Web开发更轻松
    UI组件套包DevExpress ASP.NET Core v20.2新版亮点:全新的查询生成器
    Devexpress WinForms最新版开发.NET环境配置Visual Studo和SQL Server对应版本
    全新的桌面应用数据可视化呈现方式,Sankey Diagram控件你了解多少?
    java中的递归方法
    连接数据库查询 将查询结果写入exce文件中
    java连接mysql数据查询数据
  • 原文地址:https://www.cnblogs.com/babyhhcsy/p/3434637.html
Copyright © 2011-2022 走看看