JSON

Java实现任意对象转化为JSON

字号+ 作者:H5之家 来源:H5之家 2016-04-21 15:00 我要评论( )

Java实现任意对象转化为JSON,对象

整理了一下 Java 实现任意对象转化为 JSON 的代码。后期再整理整理通过JSON 转换为 Java 对象的。以下代码供大家鉴赏。直接可放到自己工程里面用,工具类。 不知道 JSON 为何物的请戳这里。 package com.mayflygeek.util; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.math.BigDecimal; import java.math.BigInteger; import java.util.List; import java.util.Map; import java.util.Set; /** * 任意对象转化为JSON * * @author ヅ虫虫ゎ * */ { /** * * @param obj * 任意对象 String objectToJson(Object obj) { System.out.println("objectToJson"); System.out.println("==========="); StringBuilder json = new StringBuilder(); (obj == null) { json.append("\"\""); (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 instanceof Byte) { json.append("\"").append(stringToJson(obj.toString())).append("\""); (obj instanceof Object[]) { json.append(arrayToJson((Object[]) obj)); (obj instanceof List) { json.append(listToJson((List<?>) obj)); (obj instanceof Map) { json.append(mapToJson((Map<?, ?>) obj)); (obj instanceof Set) { json.append(setToJson((Set<?>) obj)); } else { json.append(beanToJson(obj)); } System.out.println(json.toString()); json.toString(); } /** * * @param str * 字符串对象 String stringToJson(String str) { System.out.println("stringToJson"); System.out.println("=========="); (str == null) { ; } StringBuilder sb = new StringBuilder(); (int i = 0; i < str.length(); i++) { ch = str.charAt(i); (ch) { : sb.append("\\\""); ; : sb.append("\\\\"); ; : sb.append("\\b"); ; : sb.append("\\f"); ; : sb.append("\\n"); ; : sb.append("\\r"); ; : sb.append("\\t"); ; : sb.append("\\/"); ; : (ch >= '\u0000' && ch <= '\u001F') { String ss = Integer.toHexString(ch); sb.append("\\u"); (int k = 0; k < 4 - ss.length(); k++) { sb.append('0'); } sb.append(ss.toUpperCase()); } else { sb.append(ch); } } } System.out.println(sb.toString()); sb.toString(); } /** * * @param array * 对象数组 String arrayToJson(Object[] array) { System.out.println("arrayToJson"); System.out.println("=========="); StringBuilder json = new StringBuilder(); json.append("["); (array != null && array.length > 0) { (Object obj : array) { json.append(objectToJson(obj)); json.append(","); } json.setCharAt(json.length() - 1, ']'); } else { json.append("]"); } System.out.println(json.toString()); json.toString(); } /** * * @param list * List对象 String listToJson(List<?> list) { System.out.println("listToJson"); System.out.println("=========="); StringBuilder json = new StringBuilder(); json.append("["); (list != null && list.size() > 0) { (Object obj : list) { json.append(objectToJson(obj)); json.append(","); } json.setCharAt(json.length() - 1, ']'); } else { json.append("]"); } System.out.println(json.toString()); json.toString(); } /** * * @param map * Map对象 String mapToJson(Map<?, ?> map) { System.out.println("mapToJson"); System.out.println("========="); StringBuilder json = new StringBuilder(); json.append("{"); (map != null && map.size() > 0) { (Object key : map.keySet()) { json.append(objectToJson(key)); json.append(":"); json.append(objectToJson(map.get(key))); json.append(","); } json.setCharAt(json.length() - 1, '}'); } else { json.append("}"); } System.out.println(json.toString()); json.toString(); } /** * * @param set * Set对象 String setToJson(Set<?> set) { System.out.println("setToJson"); System.out.println("=========="); StringBuilder json = new StringBuilder(); json.append("["); (set != null && set.size() > 0) { (Object obj : set) { json.append(objectToJson(obj)); json.append(","); } json.setCharAt(json.length() - 1, ']'); } else { json.append("]"); } System.out.println(json.toString()); json.toString(); } /** * * @param bean * Bean对象 String beanToJson(Object bean) { System.out.println("beanToJson"); System.out.println("=========="); StringBuilder json = new StringBuilder(); json.append("{"); PropertyDescriptor[] props = null; { props = Introspector.getBeanInfo(bean.getClass(), Object.class).getPropertyDescriptors(); } catch (IntrospectionException e) { } (props != null) { (int i = 0; i < props.length; i++) { { 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("}"); } System.out.println(json.toString()); json.toString(); } }

 

  • 本文来自:爱好Linux技术网
  • 本文链接:

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • PHP递归实现层级树状展开

      PHP递归实现层级树状展开

      2016-04-04 11:45

    • java处理json的工具类(list,map和json的之间的转换)

      java处理json的工具类(list,map和json的之间的转换)

      2016-03-25 12:00

    • GDAL的java环境配置以及将shp转换为json

      GDAL的java环境配置以及将shp转换为json

      2016-03-21 13:00

    • JAVA使用Gson解析json数据实例解析

      JAVA使用Gson解析json数据实例解析

      2016-03-19 15:00

    网友点评
    /