java转换为json_java中对象转换为json

1 packagecn.jasgroup.sanjiangaerolng.devicetest.tree;2

3 importjava.beans.IntrospectionException;4 importjava.beans.Introspector;5 importjava.beans.PropertyDescriptor;6 importjava.math.BigDecimal;7 importjava.math.BigInteger;8 importjava.util.List;9 importjava.util.Map;10 importjava.util.Set;11

12 importorg.apache.commons.logging.Log;13 importorg.apache.commons.logging.LogFactory;14

15 public classJsonUtil {16 private static Log log = LogFactory.getLog(JsonUtil.class);17 public staticString object2json(Object obj) {18 StringBuilder json = newStringBuilder();19 if (obj == null) {20 json.append("\"\"");21 } else if (obj instanceof String || obj instanceof Integer || obj instanceof Float || obj instanceof Boolean || obj instanceof Short || obj instanceof Double || obj instanceof Long || obj instanceof BigDecimal || obj instanceof BigInteger || obj instanceofByte) {22 json.append("\"").append(string2json(obj.toString())).append("\"");23 } else if (obj instanceofObject[]) {24 json.append(array2json((Object[]) obj));25 } else if (obj instanceofList) {26 json.append(list2json((List>) obj));27 } else if (obj instanceofMap) {28 json.append(map2json((Map, ?>) obj));29 } else if (obj instanceofSet) {30 json.append(set2json((Set>) obj));31 } else{32 json.append(bean2json(obj));33 }34 returnjson.toString();35 }36 public staticString bean2json(Object bean) {37 StringBuilder json = newStringBuilder();38 json.append("{");39 PropertyDescriptor[] props = null;40 try{41 props = Introspector.getBeanInfo(bean.getClass(), Object.class).getPropertyDescriptors();42 } catch(IntrospectionException e) {43 }44 if (props != null) {45 for (int i = 0; i < props.length; i++) {46 try{47 String name =object2json(props[i].getName());48 String value =object2json(props[i].getReadMethod().invoke(bean));49 json.append(name);50 json.append(":");51 json.append(value);52 json.append(",");53 } catch(Exception e) {54 }55 }56 json.setCharAt(json.length() - 1, '}');57 } else{58 json.append("}");59 }60 returnjson.toString();61 }62 public static String list2json(List>list) {63 StringBuilder json = newStringBuilder();64 json.append("[");65 if (list != null && list.size() > 0) {66 for(Object obj : list) {67 json.append(object2json(obj));68 json.append(",");69 }70 json.setCharAt(json.length() - 1, ']');71 } else{72 json.append("]");73 }74 returnjson.toString();75 }76 public staticString array2json(Object[] array) {77 StringBuilder json = newStringBuilder();78 json.append("[");79 if (array != null && array.length > 0) {80 for(Object obj : array) {81 json.append(object2json(obj));82 json.append(",");83 }84 json.setCharAt(json.length() - 1, ']');85 } else{86 json.append("]");87 }88 returnjson.toString();89 }90 public static String map2json(Map, ?>map) {91 StringBuilder json = newStringBuilder();92 json.append("{");93 if (map != null && map.size() > 0) {94 for(Object key : map.keySet()) {95 json.append(object2json(key));96 json.append(":");97 json.append(object2json(map.get(key)));98 json.append(",");99 }100 json.setCharAt(json.length() - 1, '}');101 } else{102 json.append("}");103 }104 returnjson.toString();105 }106 public static String set2json(Set>set) {107 StringBuilder json = newStringBuilder();108 json.append("[");109 if (set != null && set.size() > 0) {110 for(Object obj : set) {111 json.append(object2json(obj));112 json.append(",");113 }114 json.setCharAt(json.length() - 1, ']');115 } else{116 json.append("]");117 }118 returnjson.toString();119 }120 public staticString string2json(String s) {121 if (s == null)122 return "";123 StringBuilder sb = newStringBuilder();124 for (int i = 0; i < s.length(); i++) {125 char ch =s.charAt(i);126 switch(ch) {127 case '"':128 sb.append("\\\"");129 break;130 case '\\':131 sb.append("\\\\");132 break;133 case '\b':134 sb.append("\\b");135 break;136 case '\f':137 sb.append("\\f");138 break;139 case '\n':140 sb.append("\\n");141 break;142 case '\r':143 sb.append("\\r");144 break;145 case '\t':146 sb.append("\\t");147 break;148 case '/':149 sb.append("\\/");150 break;151 default:152 if (ch >= '\u0000' && ch <= '\u001F') {153 String ss =Integer.toHexString(ch);154 sb.append("\\u");155 for (int k = 0; k < 4 - ss.length(); k++) {156 sb.append('0');157 }158 sb.append(ss.toUpperCase());159 } else{160 sb.append(ch);161 }162 }163 }164 returnsb.toString();165 }166 public static voidmain(String args[]) {167 //List userList = new ArrayList();168 //userList.add(new UserTest("linbo","北京服装学院",25));169 //StringBuilder sb = new StringBuilder();170 //System.out.println(list2json(userList));

171 }172 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值