首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

List、Object变换为Json格式字符串

2012-12-21 
List、Object转换为Json格式字符串在项目中经常要用到ajax读取后台数据,而json格式的数据呢又比较容易操作,

List、Object转换为Json格式字符串

在项目中经常要用到ajax读取后台数据,而json格式的数据呢又比较容易操作,所以首选把后台读取到的数据转为json格式来处理。下面为一个json操作类

package dsh.bikegis.tool;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();        }}
?以后要想把一个list对象或者任意格式的对象转换为json格式的字符串的话就可以使用此助手类了 1 楼 sunnygql 2012-02-03   刚开始搞这块,用了很不错。呵呵!

热点排行
Bad Request.