-  importjava.beans.IntrospectionException;
  
 - importjava.beans.Introspector;
  
 - importjava.beans.PropertyDescriptor;
  
 - importjava.math.BigDecimal;
  
 - importjava.math.BigInteger;
  
 - importjava.util.List;
  
 - importjava.util.Map;
  
 - importjava.util.Set;
  
 - publicclassJsonUtils
  
 -  {
  
 -  
  
 - privatestaticorg.apache.commons.logging.Loglog=
  
 -  org.apache.commons.logging.LogFactory.getLog(JsonUtils.class);
  
 - /**
  
 - *@paramobj任意对象
  
 - *@returnString
  
 - */
  
 - staticStringobject2json(Objectobj){
  
 -  StringBuilderjson=newStringBuilder();
  
 - if(obj==null){
  
 -  json.append("""");
  
 -  }elseif(objinstanceofString||objinstanceofInteger||objinstanceofFloat
  
 -  ||objinstanceofBoolean||objinstanceofShort||objinstanceofDouble
  
 - instanceofLong||objinstanceofBigDecimal
  
 - instanceofBigInteger||objinstanceofByte){
  
 -  json.append(""").append(string2json(obj.toString())).append(""");
  
 - instanceofObject[]){
  
 -  json.append(array2json((Object[])obj));
  
 - instanceofList){
  
 -  json.append(list2json((List<?>)obj));
  
 - instanceofMap){
  
 -  json.append(map2json((Map<?,?>)obj));
  
 - instanceofSet){
  
 -  json.append(set2json((Set<?>)obj));
  
 - else{
  
 -  json.append(bean2json(obj));
  
 -  }
  
 - returnjson.toString();
  
 - *@parambeanbean对象
  
 - staticStringbean2json(Objectbean){
  
 -  json.append("{");
  
 -  PropertyDescriptor[]props=null;
  
 - try{
  
 -  props=Introspector.getBeanInfo
  
 -  (bean.getClass(),Object.class).getPropertyDescriptors();
  
 - catch(IntrospectionExceptione){
  
 -  e.printStackTrace();
  
 - if(props!=for(inti=0;i<props.length;i++){
  
 -  Stringname=object2json(props[i].getName());
  
 -  Stringvalue=object2json(props[i].getReadMethod().invoke(bean));
  
 -  json.append(name);
  
 -  json.append(":");
  
 -  json.append(value);
  
 -  json.append(",");
  
 - catch(Exceptione){
  
 -  json.setCharAt(json.length()-1,'}');
  
 -  json.append("}");
  
 - *@paramlistlist对象
  
 - staticStringlist2json(List<?>list){
  
 -  json.append("[");
  
 - if(list!=null&&list.size()>0){
  
 - for(Objectobj:list){
  
 -  json.append(object2json(obj));
  
 - ']');
  
 -  json.append("]");
  
 - *@paramarray对象数组
  
 - staticStringarray2json(Object[]array){
  
 - if(array!=null&&array.length>for(Objectobj:array){
  
 - *@parammapmap对象
  
 - staticStringmap2json(Map<?,?>map){
  
 - if(map!=null&&map.size()>for(Objectkey:map.keySet()){
  
 -  json.append(object2json(key));
  
 -  json.append(object2json(map.get(key)));
  
 - *@paramset集合对象
  
 - staticStringset2json(Set<?>set){
  
 - if(set!=null&&set.size()>for(Objectobj:set){
  
 - *@params参数
  
 - staticStringstring2json(Strings){
  
 - if(null==s){
  
 - return"";
  
 -  StringBuildersb=0;i<s.length();i++){
  
 - charch=s.charAt(i);
  
 - switch(ch){
  
 - case'"':
  
 -  sb.append(""");
  
 - break;
  
 - case'':
  
 -  sb.append("\");
  
 - case'b':
  
 -  sb.append("b");
  
 - case'f':
  
 -  sb.append("f");
  
 - case'n':
  
 -  sb.append("n");
  
 - case'r':
  
 -  sb.append("r");
  
 - case't':
  
 -  sb.append("t");
  
 - case'/':
  
 -  sb.append("/");
  
 - default:
  
 - if(ch>='u0000'&&ch<='u001F'){
  
 -  Stringss=Integer.toHexString(ch);
  
 -  sb.append("u");
  
 - intk=0;k<4-ss.length();k++){
  
 -  sb.append('0');
  
 -  sb.append(ss.toUpperCase());
  
 -  sb.append(ch);
  
 - returnsb.toString();
  
 -  } 
  
                         (编辑:李大同) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |