package com.js3d.util;  
    
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();     
         }  
}
最近下载更多
谁谁谁  LV7 2019年8月1日
风中的少年  LV10 2018年9月28日
故事_sun  LV26 2018年9月20日
wsp617320652  LV7 2017年8月1日
rastaclat  LV9 2017年6月26日
CRayFish07  LV11 2017年6月20日
feia1236  LV10 2017年1月18日
wyx065747  LV67 2016年10月2日
lzzzzp  LV8 2016年9月23日
xiuyaoshuo  LV2 2016年3月13日
最近浏览更多
Myangyyyy  LV10 2021年3月11日
lizhoutao  LV11 2020年12月11日
随便取个名字_哈哈  LV27 2020年6月15日
csy1209457788  LV3 2020年6月10日
Jacko01  LV8 2020年5月25日
今夜打火锅  LV3 2020年4月24日
幻羽揚  LV4 2020年2月24日
jaflkjlkfdjl  LV6 2019年11月11日
谁谁谁  LV7 2019年8月1日
jxvtcsoftware161  LV2 2019年5月30日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友