一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Json 自定義使用函數的簡單實例

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

2020-06-28 11:36jingxian JAVA教程

下面小編就為大家帶來一篇Json 自定義使用函數的簡單實例。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

如下所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/*
 * 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("\\\"");
        break;
      case '\\':
        sb.append("\\\\");
        break;
      case '/':
        sb.append("\\/");
        break;
      case '\b':
        sb.append("\\b");
        break;
      case '\f':
        sb.append("\\f");
        break;
      case '\n':
        sb.append("\\n");
        break;
      case '\r':
        sb.append("\\r");
        break;
      case '\t':
        sb.append("\\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 自定義使用函數的簡單實例全部內容了,希望大家多多支持服務器之家~

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美一级欧美三级在线 | 国产精品最新资源网 | 亚洲国产区男人本色在线观看欧美 | 亚洲欧美专区精品伊人久久 | 久久er国产精品免费观看2 | 每天都要睡男人(nph) | 日韩免费在线视频 | 色男人网 | 久久精品热在线观看85 | 北海市副市长黄江老公 | 国产成人综合视频 | 国产一二在线观看视频网站 | 3d动漫免费| 欧美老人与小伙子性生交 | 99热久热这里只精品 | 草莓视频网站18勿进 | 好大好硬好深好爽想要吃奶 | 亚洲狠狠网站色噜噜 | 精品国产原创在线观看视频 | 皇上撞着太子妃的秘密小说 | 亚洲 日韩 自拍 视频一区 | www亚洲国产 | 福利一区福利二区 | 精品在线网站 | 午夜宅男在线观看 | 97久久免费视频 | 日本大片网 | 538亚洲欧美国产日韩在线精品 | 国产一区二区不卡视频 | 天天快乐高清在线观看 | 日本又黄又裸一级大黄裸片 | 蜜汁肉桃全文免费阅读 | 摸咪网在线影院在线观看 | 国产在线麻豆波多野结衣 | 99在线观看视频免费 | 欧美性xxxxxx爱 | 12345国产精品高清在线 | 日韩亚洲欧美综合一区二区三区 | 四虎影视在线影院在线观看 | 亚洲天堂免费观看 | 日韩在线视频在线 |