關於Json

JSON與JAVA數據的轉換(JSON 即 JavaScript Object Natation,它是一種輕量級的數據交換格式,非常適合於服務器與 JavaScript 的交互。

 
JSONObject jo = JSONObject.fromObject(map);
常見的java代碼轉換成json


1. List集合轉換成json代碼

List list = new ArrayList();

list.add( "first" );

list.add( "second" );

JSONArray jsonArray2 = JSONArray.fromObject( list );

2. Map集合轉換成json代碼

Map map = new HashMap();

map.put("name", "json");

map.put("bool", Boolean.TRUE);

map.put("int", new Integer(1));

map.put("arr", new String[] { "a", "b" });

map.put("func", "function(i){ return this.arr[i]; }");

JSONObject json = JSONObject.fromObject(map);

3. Bean轉換成json代碼

JSONObject jsonObject = JSONObject.fromObject(new JsonBean());

4. 數組轉換成json代碼

boolean[] boolArray = new boolean[] { true, false, true };

JSONArray jsonArray1 = JSONArray.fromObject(boolArray);

5. 一般數據轉換成json代碼

JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']" );

 

 

把List、Map轉換Json

public static String getListMapToJSON(List<Map> listMap) {
        if (listMap == null) return null;
        StringBuffer sb = new StringBuffer("[");
        int countT = 0;
        for (Map map : listMap) {
            if (countT == 0) {
                sb.append("{");
            } else {
                sb.append(",{");
            }
            Iterator iterator = map.keySet().iterator();
            int count = 0;
            while (iterator.hasNext()) {
                Object key = iterator.next();
                Object value = map.get(key);
                if (count == 0) {
                    sb.append("\"");
                    sb.append(key.toString().toLowerCase());
                    sb.append("\":");
                    if (value instanceof String || value instanceof Character) {
                        sb.append("\"");
                        sb.append(value);
                        sb.append("\"");
                    } else if (value == null) {
                        sb.append(value);
                    } else if (value instanceof Double || value instanceof Integer || value instanceof Long || value instanceof BigDecimal) {
                        sb.append(value);
                    } else if (value instanceof Date) {
                        sb.append("\"");
                        sb.append(DateUtil.dateFormat((Date) value));
                        sb.append("\"");
                    } else if (value instanceof Timestamp) {
                        sb.append("\"");
                        sb.append(DateUtil.timestampFormat_ZN((Timestamp) value));
                        sb.append("\"");
                    } else {
                        System.err.println("主鍵爲:" + key + "======值爲:" + value + "出錯。" + value.getClass().getName());
                    }
                } else {
                    sb.append(",\"");
                    sb.append(key.toString().toLowerCase());
                    sb.append("\":");
                    if (value instanceof String || value instanceof Character) {
                        sb.append("\"");
                        sb.append(value);
                        sb.append("\"");
                    } else if (value == null) {
                        sb.append(value);
                    } else if (value instanceof Double || value instanceof Integer || value instanceof Long || value instanceof BigDecimal) {
                        sb.append(value);
                    } else if (value instanceof Date) {
                        sb.append("\"");
                        sb.append(DateUtil.dateFormat((Date) value));
                        sb.append("\"");
                    } else if (value instanceof Timestamp) {
                        sb.append("\"");
                        sb.append(DateUtil.timestampFormat_ZN((Timestamp) value));
                        sb.append("\"");
                    } else {
                        System.err.println("主鍵爲:" + key + "======值爲:" + value + "出錯。" + value.getClass().getName());
                    }
                }
                count++;
            }
            countT++;
            sb.append("}");
        }

        sb.append("]");
        return sb.toString();
    }


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章