`
csdxqzp
  • 浏览: 32195 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

json-lib json转java 指定日期格式

    博客分类:
  • j2se
阅读更多
public class MyDateJsonBeanProcessor  implements net.sf.json.processors.JsonBeanProcessor {
	private static Logger logger  = Logger.getLogger(MyDateJsonBeanProcessor .class) ;
	
	public JSONObject processBean(Object bean, JsonConfig jsonConfig) {
		JSONObject jsonObject = null;
		System.out.println(bean);
		logger.info("processor class name:" + bean.getClass().getName());
		if (bean instanceof java.util.Date) {
			System.out.println("HAHA");
			jsonObject = new JSONObject();
			jsonObject.element("time", ((Date) bean).getTime());
		} else {
			jsonObject = new JSONObject(true);
		}
		return jsonObject;
	}
}

public class MyObjectUtil {
	public MyObjectUtil() {
		super();
	}

	public final static int sizeof(Object object){
		try{
			ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
			ObjectOutputStream out = new ObjectOutputStream(byteOut);
			out.writeObject(object);
			byte[] byteArray=byteOut.toByteArray();
			return byteArray.length;
		}catch(Exception e){
			try{
				ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
				HessianOutput out = new HessianOutput(byteOut);
				out.writeObject(object);
				byte[] byteArray=byteOut.toByteArray();
				return byteArray.length;
			}catch(Exception ex){
				e.printStackTrace();
				ex.printStackTrace();
			}
		}
		return -1;
	}
	
	/**
	 * 将JAVA对象转换为JSON格式的字符串
	 * @param object
	 * @return String 
	 */
	public static String convert2Json(Object object){
        if(object instanceof String)
            return object.toString();
        if((object instanceof Object[])||(object instanceof List)){
            JSONArray jsonObject = JSONArray.fromObject(object);
            return jsonObject.toString()+'\n';
        }else{
            JSONObject jsonObject = JSONObject.fromObject(object);
            return jsonObject.toString()+'\n';
        }
    }
	
	/**
	 * 
	 * @Description 将JAVA对象转换为JSON格式的字符串 升级版本 
	 * @create Jul 5, 2010
	 * @auhtor 覃正平
	 * @param object : 对象
	 * @return String
	 */
	public static String convert2Json2(Object object){
		JsonConfig jsonConfig = new JsonConfig();
		jsonConfig.registerJsonValueProcessor(java.util.Date.class, new JsonValueProcessor(){
			private final String format = "yyyy-MM-dd hh:mm:ss" ;
			public Object processArrayValue(Object object, JsonConfig jsonConfig) {
				return null;
			}

			public Object processObjectValue(String string, Object object,JsonConfig jsonConfig) {
				if(null == object ){
					return "" ;
				}else{
					if(object instanceof java.util.Date){
						SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format) ;
						String dateStr = simpleDateFormat.format(object) ;
						return dateStr ;
					}
				}
				
				return object.toString();
			}
		}) ;
		
        if(object instanceof String)
            return object.toString();
        if((object instanceof Object[])||(object instanceof List)){
            JSONArray jsonObject = JSONArray.fromObject(object,jsonConfig);
            return jsonObject.toString()+'\n';
        }else{
            JSONObject jsonObject = JSONObject.fromObject(object,jsonConfig);
            return jsonObject.toString()+'\n';
        }
    }

	/**
	 * 
	 * @Description 将JSON格式的字符串转换为JAVA对象 升级版本 
	 * @create Jul 5, 2010
	 * @auhtor 覃正平 
	 * @param clazz : 转换成的类型 (例如 Tree.class)
	 * @param json :  传入的JSON表达式 (例如 {"address":"湖南大厦","createDate":"2010-07-05 06:10:54","id":123})
	 * @return Object
	 */
	public static Object convert2Object2(Class clazz ,String json){
		final String[] DATE_FORMAT = { "yyyy-MM-dd HH:mm:ss" };  
		MorpherRegistry morpherRegistry = JSONUtils.getMorpherRegistry();
		morpherRegistry.registerMorpher(new DateMorpher(DATE_FORMAT));
		
		JSONObject jsonObject = JSONObject.fromObject(json);
		Object obj = JSONObject.toBean(jsonObject, clazz);
		return obj ; 
    }	
	
}


调用方式
		CustomerOrderAskPojo pojo = new CustomerOrderAskPojo() ;
		pojo.setStatusDate(new Date()) ;
		
		String json = MyObjectUtil.convert2Json2(pojo);
		System.out.println(json);

		Thread.sleep(2000);
//
		CustomerOrderAskPojo t = (CustomerOrderAskPojo)MyObjectUtil.convert2Object2(CustomerOrderAskPojo.class, json) ;
		System.out.println(t.getStatusDate());[size=medium][/size]


[/size]
0
0
分享到:
评论

相关推荐

    使用json-lib实现json与Java对象的互转

    `json-lib` 是一个 Java 库,它提供了将 JSON 格式的数据转换为 Java 对象,以及将 Java 对象转换为 JSON 格式数据的功能。在 Java 开发中,`json-lib` 是一个常用的 JSON 处理工具,尤其适用于需要处理复杂 JSON ...

    json-lib-2.4-jdk15.jar下载

    json-lib-2.4-jdk15.jar下载,json-lib是一款简单易用的Java JSON库。它可以将Java对象转换成JSON字符串,也可以将JSON字符串转换成Java对象。json-lib体积小、无依赖,性能表现也不错,适合在各种Java项目中使用。 ...

    json-lib-2.4-jdk15.jar

    json-lib是一个Java库,它提供了一种方便的方式来序列化和反序列化Java对象为JSON格式,以及将JSON数据转换回Java对象。 json-lib-2.4-jdk15.jar是json-lib的一个特定版本,适用于JDK 1.5环境。这个版本的库包含了...

    json-lib-2.2.3-jdk15.jar

    JSON-lib是一个Java库,它提供了将Java对象转换为JSON表示以及从JSON文本反序列化回Java对象的功能。该库名为`json-lib-2.2.3-jdk15.jar`,特别针对Java 1.5版本进行了优化。 JSON-lib的主要特点和功能包括: 1. *...

    json-lib-2.2.2-jdk15.jar

    2. **XML与JSON互转**:json-lib还支持XML与JSON之间的转换,这在处理不同数据格式时非常有用。 3. **自定义序列化**:通过实现JSONAware接口或使用JSONSerializer的transform方法,开发者可以定制JSON序列化过程,...

    json-lib-2.4和相应的依赖包

    4. **支持多种Java类型**:json-lib支持包括基本类型、集合、数组、日期、自定义对象等多种Java类型的数据转换。 5. **性能优化**:尽管有其他更现代的JSON库如Gson和Jackson,json-lib-2.4依然因其简洁的API和相对...

    json-lib应用所有jar

    JSON-lib是Java平台上的一个库,它提供了一种方便的方式来序列化和反序列化Java对象为JSON格式,以及从JSON字符串恢复Java对象。这个库在处理JSON数据时非常实用,特别是对于那些需要在服务器端和客户端之间进行数据...

    json-lib-2.3.jar

    4. **JsonConfig**: 提供配置选项,可以定制JSON转换行为,如日期格式、null值处理等。 在实际开发中,使用json-lib进行JSON操作的步骤通常包括: 1. 导入json-lib库,如`import net.sf.json.JSONObject; import ...

    json-lib-2.1.jar和struts2-json-plugin-2.1.8.1.jar

    在Java世界里,`json-lib-2.1.jar` 是一个用于处理JSON的库,它提供了一系列的方法来将Java对象转换为JSON格式,以及将JSON字符串反序列化回Java对象。这个库支持多种Java类型,包括基本类型、集合、Map、自定义Java...

    json-lib-2.4-jdk15和全部依赖jar包

    2. **XML与JSON互转**:除了基本的Java对象与JSON之间的转换,`json-lib`还提供了XML到JSON以及JSON到XML的转换功能,使得两种数据交换格式可以无缝对接。 3. **支持多种数据类型**:`json-lib`不仅支持基本的数据...

    json-lib jar和所有依赖的jar

    在文件列表中的"jsonlib需要jar包",这可能是指包含了`json-lib`库及其所有依赖的JAR文件。在实际项目中,将这些JAR文件添加到项目的类路径(classpath)中,就可以使用`json-lib`提供的功能,而无需通过Maven或其他...

    JSON-lib包json-lib-0.8.jar和json-lib-0.9.jar包

    JSON-lib是一个Java库,用于将Java对象转换为JSON(JavaScript Object Notation)格式,以及将JSON数据转换回Java对象。这个库提供了多种方法来处理JSON数据,使得在Java应用程序中与JSON交互变得更加简单。JSON是一...

    json-lib-2.3-jdk15开发包和所有依赖包

    `json-lib`是一个Java库,它提供了将Java对象转换为JSON格式,以及从JSON字符串反序列化回Java对象的功能。`json-lib-2.3-jdk15`是这个库的一个特定版本,兼容JDK 1.5,这意味着它可以在运行JDK 1.5或更高版本的Java...

    json-lib-2.4-jdk15.jar及其相关依赖

    1. **Java Bean到JSON**: 只需传入一个Java Bean对象,`json-lib`就能将其转换为JSON格式的字符串。 2. **Map到JSON**: 对于包含键值对的数据结构,如HashMap,`json-lib`也能轻松将其转换为JSON对象。 3. **数组和...

    json-lib-2.4-jdk15及其依赖jar包

    JSON-Lib是一个Java库,设计用于处理JSON格式的数据,使得在Java应用程序中进行JSON操作变得更加简单。 JSON-Lib-2.4-jdk15是JSON-Lib的一个特定版本,它针对JDK 1.5进行了优化,以适应该版本的Java环境。这个库...

    json-lib.jar

    JSON-lib.jar提供了这样的功能,使得开发者能够方便地在Java对象和JSON格式之间进行转换。 这个库包含了一些关键类,如JSONObject、JSONArray、JSONStringer和JSONParser等。JSONObject表示一个JSON对象,由键值对...

    json-lib-2.4-jdk15及其依赖包

    1、json的核心包:json-lib-2.4-jdk15.jar; 2、json-lib-2.4-jdk15.jar依赖的jar包:commons-beanutils-1.9.3.jar,commons-collections-3.2.2.jar,commons-lang-2.6.jar,commons-logging-1.2.jar,ezmorph-1.0.6...

    json-lib-2.3-jdk15基础jar包合辑

    3. **XML与JSON互转**:JSON Lib还提供了XML和JSON之间的转换功能,使得两种数据交换格式可以灵活切换。 4. **处理复杂结构**:支持处理嵌套的JSON对象和数组,可以轻松地处理复杂的JSON数据结构。 ### 示例代码 ``...

    使用json-lib将java对象转换成json字符串

    标题中的“使用json-lib将java对象转换成json字符串”指的是在Java编程中,利用json-lib这个库来将Java对象转化为JSON格式的字符串。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端...

    json-lib-2.4-jdk13对应jar包大全

    json-lib是一个Java库,用于将Java对象转换为JSON格式,反之亦然。该库特别适用于处理复杂的Java对象并将其转换为JSON字符串,以便在服务器和客户端之间进行数据交换。 在这个“json-lib-2.4-jdk13对应jar包大全”...

Global site tag (gtag.js) - Google Analytics