package com.hl.usersmanager.DataUtil;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;
import java.util.List;
/***
*
* @title: Json转化类
* @description: TODO(通过内省和反射机制将list对象转化为json)
* @param
* @return 返回一个json字符串
* @throws
*/
public class JsonUtil {
public static String objectToJson(Object object) {
StringBuilder json = new StringBuilder();
if (object == null) {
json.append("\"\"");
} else if (object instanceof String || object instanceof Integer
|| object instanceof Date || object instanceof Time || object instanceof Timestamp) {
json.append("\"").append(object.toString()).append("\"");
} else {
json.append(beanToJson(object));
}
return json.toString();
}
public static String beanToJson(Object bean) {
StringBuilder json = new StringBuilder();
json.append("{");
PropertyDescriptor[] props = null;
try {
props = Introspector.getBeanInfo(bean.getClass(), Object.class)
.getPropertyDescriptors();
// for (int i = 0; i < props.length; i++) {
// if(props[i] instanceof
// IndexedPropertyDescriptor)//过滤掉默认的IndexedPropertyDescriptor
// {
// props=(IndexedPropertyDescriptor)props[i];
// }
//
// }
} catch (IntrospectionException e) {
}
if (props != null) {
for (int i = 0; i < props.length; i++) {
try {
String name = objectToJson(props[i].getName());
if (name.equals("\"callbacks\""))// 过滤掉默认的IndexedPropertyDescriptor
// name="callbacks"
{
continue;
}
String value = objectToJson(props[i].getReadMethod()
.invoke(bean));
json.append(name);
json.append(":");
json.append(value);
json.append(",");
} catch (Exception e) {
}
}
json.setCharAt(json.length() - 1, '}');
} else {
json.append("}");
}
return json.toString();
}
public static String listToJson(List<?> list) {
StringBuilder json = new StringBuilder();
json.append("[");
if (list != null && list.size() > 0) {
for (Object obj : list) {
json.append(objectToJson(obj));
json.append(",");
}
json.setCharAt(json.length() - 1, ']');
} else {
json.append("]");
}
return json.toString();
}
}
本篇文章来源于 我爱编程网 转载请以链接形式注明出处 网址:http://www.bcw52.com/JAVA/2807.html