zoukankan      html  css  js  c++  java
  • 对象转Json时,Date类型格式化问题

    object是一个对象,该对象中有一个字段为Date类型

    使用JSONObject obj = JSONObject.fromObject(object);将Object转成json时

    Date类型字段会出现问题,会转化成一个Json内嵌的对象

    如何在Date类型转Json时进行格式化呢?

    1.自定义日期类型格式化转化类

    /**
     * 实现Date类型转json时的格式化问题
     */
    public class JsonDateValueProcessor implements JsonValueProcessor {
    	
    	private String format ="yyyy-MM-dd";
    	
    	public Object processArrayValue(Object value, JsonConfig config) {
    		return process(value);
    	}
     
    	public Object processObjectValue(String key, Object value, JsonConfig config) {
    		return process(value);
    	}
    	
    	private Object process(Object value){
    		
    		if(value instanceof Date){
    			SimpleDateFormat sdf = new SimpleDateFormat(format,Locale.UK);
                return sdf.format(value);
    		}
    		return value == null ? "" : value.toString();
    	}
    }
    

    2.在转化的时候给JSONObject设定jsonConfig

    public static String peToJson(Pe pe){
            JsonConfig jsonConfig = new JsonConfig();   //JsonConfig是net.sf.json.JsonConfig中的这个,为固定写法
            jsonConfig.registerJsonValueProcessor(Date.class , new JsonDateValueProcessor());
            JSONObject obj = JSONObject.fromObject(pe,jsonConfig);
            return obj.toString();
    }

    通过设定jsonConfig,在json转化的时候,即可正确转换Date格式

  • 相关阅读:
    复合优先于继承
    在共有类中使用访问方法而非共有域
    在共有类中使用访问方法而非共有域
    复合优先于继承
    矩阵求导(转)
    machine learning
    矩阵求导(转)
    使可变性最小化
    machine learning
    使可变性最小化
  • 原文地址:https://www.cnblogs.com/zhangyongJava/p/9369898.html
Copyright © 2011-2022 走看看