国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Json 自定義使用函數的簡單實例

2019-11-26 13:39:05
字體:
來源:轉載
供稿:網友

如下所示:

/* * Created on Nov 4, 2016 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */package com.suning.commerce.util;import java.sql.Date;import java.sql.Time;import java.sql.Timestamp;import java.util.Collection;import java.util.Iterator;import java.util.Map;import org.apache.commons.beanutils.BeanUtils;/** * @author nicholas tse *  * TODO To change the template for this generated type comment go to Window - Preferences - Java - Code Style - Code Templates */public class JsonUtils {  /**   *    * @param array   * @return   */  private static String array2Json(Object[] array) {    if (array.length == 0)      return "[]";    int i = array.length;    StringBuffer sb = new StringBuffer(i << 4);    sb.append('[');    for (int j = 0; j < i; j++) {      Object o = array[j];      sb.append(toJson(o));      sb.append(',');    }    // 將最后添加的 ',' 變為 ']':    sb.setCharAt(sb.length() - 1, ']');    return sb.toString();  }  private static String string2Json(String s) {    StringBuffer sb = new StringBuffer(s.length() + 20);    sb.append('/"');    for (int i = 0; i < s.length(); i++) {      char c = s.charAt(i);      switch (c) {      case '/"':        sb.append("http:///"");        break;      case '//':        sb.append("http:////");        break;      case '/':        sb.append("http:///");        break;      case '/b':        sb.append("http://b");        break;      case '/f':        sb.append("http://f");        break;      case '/n':        sb.append("http://n");        break;      case '/r':        sb.append("http://r");        break;      case '/t':        sb.append("http://t");        break;      default:        sb.append(c);      }    }    sb.append('/"');    return sb.toString();  }  public static String toJson(Object o) {    if (o == null) {      return "null";    } else if (o instanceof String) {      return string2Json((String) o);    } else if ((o instanceof Boolean) || (o instanceof Number)) {      return o.toString();    } else if ((o instanceof Date) || (o instanceof Time)||o instanceof Timestamp) {      return o.toString();    } else if (o instanceof java.util.Date) {      return DateUtil.formatDate((java.util.Date)o,"yyyy-MM-dd HH:mm:ss");    } else if (o instanceof Map) {      return map2Json((Map) o);    } else if (o instanceof Object[]) {      return array2Json((Object[]) o);    } else if (o instanceof Collection) {      return array2Json(((Collection) o).toArray());    } else {      try {        Map describe = BeanUtils.describe(o);        return map2Json(describe);      } catch (Exception e) {        // TODO Auto-generated catch block        e.printStackTrace();      }    }    throw new RuntimeException("Unsupported type: " + o.getClass().getName());  }  /**   *    * @param map   * @return   */  private static String map2Json(Map map) {    if (map.isEmpty())      return "{}";    StringBuffer sb = new StringBuffer(map.size() << 4);    sb.append('{');    Iterator iterator = map.keySet().iterator();    while (iterator.hasNext()) {      Object key = iterator.next();      Object value = map.get(key);      sb.append('/"');      sb.append(key);      sb.append('/"');      sb.append(':');      sb.append(toJson(value));      sb.append(',');    }    // 將最后的 ',' 變為 '}':    sb.setCharAt(sb.length() - 1, '}');    return sb.toString();  }}

以上就是小編為大家帶來的Json 自定義使用函數的簡單實例全部內容了,希望大家多多支持武林網~

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武功县| 涡阳县| 德江县| 上饶县| 平乡县| 禄丰县| 永顺县| 沛县| 苏尼特左旗| 东丽区| 永城市| 旌德县| 敦化市| 思南县| 肥城市| 浦江县| 时尚| 灵丘县| 河池市| 商水县| 鹿邑县| 仲巴县| 临沭县| 新龙县| 南昌市| 永清县| 滨海县| 德安县| 安溪县| 梓潼县| 青河县| 五台县| 青河县| 灌阳县| 浦县| 长海县| 阿坝| 太康县| SHOW| 陈巴尔虎旗| 虹口区|