- 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();
- }
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|