常見的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();
}