package com.js3d.util;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.util.List;
/**
* json的操作类
* @author NanGuoCan
*
*/
public class JsonUtil {
/**
* @param object
* 任意对象
* @return java.lang.String
*/
public static String objectToJson(Object object) {
StringBuilder json = new StringBuilder();
if (object == null) {
json.append("\"\"");
} else if (object instanceof String || object instanceof Integer) {
json.append("\"").append(object.toString()).append("\"");
} else {
json.append(beanToJson(object));
}
return json.toString();
}
/**
* 功能描述:传入任意一个 javabean 对象生成一个指定规格的字符串
*
* @param bean
* bean对象
* @return String
*/
public static String beanToJson(Object bean) {
StringBuilder json = new StringBuilder();
json.append("{");
PropertyDescriptor[] props = null;
try {
props = Introspector.getBeanInfo(bean.getClass(), Object.class)
.getPropertyDescriptors();
} catch (IntrospectionException e) {
}
if (props != null) {
for (int i = 0; i < props.length; i++) {
try {
String name = objectToJson(props[i].getName());
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();
}
/**
* 功能描述:通过传入一个列表对象,调用指定方法将列表中的数据生成一个JSON规格指定字符串
*
* @param list
* 列表对象
* @return java.lang.String
*/
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();
}
}
最近下载更多
谁谁谁 LV7
2019年8月1日
风中的少年 LV10
2018年9月28日
故事_sun LV26
2018年9月20日
wsp617320652 LV7
2017年8月1日
rastaclat LV9
2017年6月26日
CRayFish07 LV11
2017年6月20日
feia1236 LV10
2017年1月18日
wyx065747 LV67
2016年10月2日
lzzzzp LV8
2016年9月23日
xiuyaoshuo LV2
2016年3月13日
最近浏览更多
微信网友_7123559591677952
2024年8月14日
暂无贡献等级
Myangyyyy LV10
2021年3月11日
lizhoutao LV11
2020年12月11日
随便取个名字_哈哈 LV27
2020年6月15日
csy1209457788 LV3
2020年6月10日
Jacko01 LV8
2020年5月25日
今夜打火锅 LV3
2020年4月24日
幻羽揚 LV4
2020年2月24日
jaflkjlkfdjl LV6
2019年11月11日
谁谁谁 LV7
2019年8月1日

