0
点赞
收藏
分享

微信扫一扫

Java将List/JavaBean转成Json

高子歌 2022-06-14 阅读 60
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.util.List;

/**

* json的操作类

*

* @author wsz

* @createTime 2012-4-12

* @version 1.0

*/
public class JsonUtil {


/**

* 传入任意一个 object对象生成一个指定规格的字符串

*

* @param object 任意对象

* @return String

*/

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 Double) {

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 (Exception e) {

e.printStackTrace();

}

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 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();

}

}



作者:少帅

您的支持是对博主最大的鼓励,感谢您的认真阅读。

本文版权归作者所有,欢迎转载,但请保留该声明。

举报

相关推荐

0 条评论