将list对象转化为json

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值