读书人

应用JSON-LIB转换JAVA对象

发布时间: 2012-12-18 12:43:41 作者: rapoo

使用JSON-LIB转换JAVA对象

???? 使用JSON-LIB可以极大的简化JAVA对象转换成JSON对象所需进行的操作,更可以避免人工操作生成JSON对象字符串时带来的麻烦和误操作:
使用JSON-LIB,首先需要有几个支持的包:
http://json-lib.sourceforge.net下载json-lib-1.1-jdk15.jar
commons-lang.jar、commons-logging.jar,commons-beanutils.jar? 这些包可在tomcat/comon/lib下找到
EZMorph 下载地址http://ezmorph.sourceforge.net
morph-1.0.1 下载地址:http://morph.sourceforge.net

使用的例子如下所示:

?

其它两个测试实体Bean:

JsonConfig cfg=new JsonConfig();cfg.registerJsonValueProcessor(java.util.Date.class, new JsonValueProcessorImpl());cfg.registerJsonValueProcessor(java.sql.Date.class, new JsonValueProcessorImpl());JSONObject obj = JSONObject.fromObject(info,cfg);JsonValueProcessorImpl为实现了源代码中的接口JsonValueProcessorimport java.text.SimpleDateFormat;import java.util.Date;import net.sf.json.JsonConfig;import net.sf.json.processors.JsonValueProcessor;public class JsonValueProcessorImpl implements JsonValueProcessor{ private String format="yyyy-MM-dd"; public JsonValueProcessorImpl(){   } public JsonValueProcessorImpl(String format){  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) {  if(value instanceof Date){   String str=new SimpleDateFormat(format).format((Date)value);   return str;  }  return value.toString(); } public String getFormat() {  return format; } public void setFormat(String format) {  this.format = format; } } 

??

本文也只是实现了将DATE类型转换成yyyy-MM-dd的格式,各位可以自己测试一下。

读书人网 >JavaScript

热点推荐