分享

Object ,list , 格式转换成Json串

 Sunny_Gql 2012-04-05

/** JSON工具类,实现Object转换成Json串,List转换成Json,更多支持转换待续,因为工作需要只有这几个; */
public class MSJSONUtils {
 
 /**
  * @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();
 }

}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多