• Android与服务器端交互


      关于如何解析成JSON数组

    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();   
             }
    }
  • 相关阅读:
    应用程序发生异常,未知的软件异常0x0eedfade,位置为0x0000001355C
    关于条件表达式的理解
    *p++、*++p、(*p)++、++(*p)的比较
    排序算法01_选择排序
    递归_汉诺塔问题
    排序算法00_冒泡排序
    深入理解C语言
    虚拟机_第一篇---创建Linux虚拟机
    虚拟机_第〇篇---虚拟机的下载安装与功能简介
    对i++与++i的理解
  • 原文地址:https://www.cnblogs.com/bq12345/p/3167166.html
Copyright © 2020-2023  润新知