怎样将一个javabean转成json串在,并在.net中解析

解决方案 »

  1.   

    给你一段代码: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();
        }
    }
      

  2.   

    ASP.NET中JSON的序列化和反序列化
    http://www.cnblogs.com/zhaozhan/archive/2011/01/09/1931340.html