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]
分享到:
相关推荐
`json-lib` 是一个 Java 库,它提供了将 JSON 格式的数据转换为 Java 对象,以及将 Java 对象转换为 JSON 格式数据的功能。在 Java 开发中,`json-lib` 是一个常用的 JSON 处理工具,尤其适用于需要处理复杂 JSON ...
json-lib-2.4-jdk15.jar下载,json-lib是一款简单易用的Java JSON库。它可以将Java对象转换成JSON字符串,也可以将JSON字符串转换成Java对象。json-lib体积小、无依赖,性能表现也不错,适合在各种Java项目中使用。 ...
json-lib是一个Java库,它提供了一种方便的方式来序列化和反序列化Java对象为JSON格式,以及将JSON数据转换回Java对象。 json-lib-2.4-jdk15.jar是json-lib的一个特定版本,适用于JDK 1.5环境。这个版本的库包含了...
JSON-lib是一个Java库,它提供了将Java对象转换为JSON表示以及从JSON文本反序列化回Java对象的功能。该库名为`json-lib-2.2.3-jdk15.jar`,特别针对Java 1.5版本进行了优化。 JSON-lib的主要特点和功能包括: 1. *...
2. **XML与JSON互转**:json-lib还支持XML与JSON之间的转换,这在处理不同数据格式时非常有用。 3. **自定义序列化**:通过实现JSONAware接口或使用JSONSerializer的transform方法,开发者可以定制JSON序列化过程,...
4. **支持多种Java类型**:json-lib支持包括基本类型、集合、数组、日期、自定义对象等多种Java类型的数据转换。 5. **性能优化**:尽管有其他更现代的JSON库如Gson和Jackson,json-lib-2.4依然因其简洁的API和相对...
JSON-lib是Java平台上的一个库,它提供了一种方便的方式来序列化和反序列化Java对象为JSON格式,以及从JSON字符串恢复Java对象。这个库在处理JSON数据时非常实用,特别是对于那些需要在服务器端和客户端之间进行数据...
4. **JsonConfig**: 提供配置选项,可以定制JSON转换行为,如日期格式、null值处理等。 在实际开发中,使用json-lib进行JSON操作的步骤通常包括: 1. 导入json-lib库,如`import net.sf.json.JSONObject; import ...
在Java世界里,`json-lib-2.1.jar` 是一个用于处理JSON的库,它提供了一系列的方法来将Java对象转换为JSON格式,以及将JSON字符串反序列化回Java对象。这个库支持多种Java类型,包括基本类型、集合、Map、自定义Java...
2. **XML与JSON互转**:除了基本的Java对象与JSON之间的转换,`json-lib`还提供了XML到JSON以及JSON到XML的转换功能,使得两种数据交换格式可以无缝对接。 3. **支持多种数据类型**:`json-lib`不仅支持基本的数据...
在文件列表中的"jsonlib需要jar包",这可能是指包含了`json-lib`库及其所有依赖的JAR文件。在实际项目中,将这些JAR文件添加到项目的类路径(classpath)中,就可以使用`json-lib`提供的功能,而无需通过Maven或其他...
JSON-lib是一个Java库,用于将Java对象转换为JSON(JavaScript Object Notation)格式,以及将JSON数据转换回Java对象。这个库提供了多种方法来处理JSON数据,使得在Java应用程序中与JSON交互变得更加简单。JSON是一...
`json-lib`是一个Java库,它提供了将Java对象转换为JSON格式,以及从JSON字符串反序列化回Java对象的功能。`json-lib-2.3-jdk15`是这个库的一个特定版本,兼容JDK 1.5,这意味着它可以在运行JDK 1.5或更高版本的Java...
1. **Java Bean到JSON**: 只需传入一个Java Bean对象,`json-lib`就能将其转换为JSON格式的字符串。 2. **Map到JSON**: 对于包含键值对的数据结构,如HashMap,`json-lib`也能轻松将其转换为JSON对象。 3. **数组和...
JSON-Lib是一个Java库,设计用于处理JSON格式的数据,使得在Java应用程序中进行JSON操作变得更加简单。 JSON-Lib-2.4-jdk15是JSON-Lib的一个特定版本,它针对JDK 1.5进行了优化,以适应该版本的Java环境。这个库...
JSON-lib.jar提供了这样的功能,使得开发者能够方便地在Java对象和JSON格式之间进行转换。 这个库包含了一些关键类,如JSONObject、JSONArray、JSONStringer和JSONParser等。JSONObject表示一个JSON对象,由键值对...
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...
3. **XML与JSON互转**:JSON Lib还提供了XML和JSON之间的转换功能,使得两种数据交换格式可以灵活切换。 4. **处理复杂结构**:支持处理嵌套的JSON对象和数组,可以轻松地处理复杂的JSON数据结构。 ### 示例代码 ``...
标题中的“使用json-lib将java对象转换成json字符串”指的是在Java编程中,利用json-lib这个库来将Java对象转化为JSON格式的字符串。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端...
json-lib是一个Java库,用于将Java对象转换为JSON格式,反之亦然。该库特别适用于处理复杂的Java对象并将其转换为JSON字符串,以便在服务器和客户端之间进行数据交换。 在这个“json-lib-2.4-jdk13对应jar包大全”...