wangxingguang 发表于 2013-1-29 08:44:26

Java将List/JavaBean转成Json

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.getName());
                  String value = objectToJson(props.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();
    }
}
页: [1]
查看完整版本: Java将List/JavaBean转成Json