package com.szibr.workbench.common.util;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
public class JsonUtil {
@SuppressWarnings("unchecked")
public static String format(List data, int rows) throws Exception {
if ((data == null) || (data.isEmpty())) {
return "";
}
return "{ \"total\":" + rows + ",\"rows\":" + fromObject(data) + "}";
}
@SuppressWarnings("unchecked")
public static String format(List data, Long rows) throws Exception {
if ((data == null) || (data.isEmpty())) {
return "";
}
return "{ \"total\":" + rows + ",\"rows\":" + fromObject(data) + "}";
}
@SuppressWarnings("unchecked")
public static String fromObject(Object object) throws Exception {
String jsonString = null;
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.registerJsonValueProcessor(Date.class,
new JsonDateValueProcessor());
if (object != null) {
if (((object instanceof Collection))
|| ((object instanceof Object[]))){
jsonString = JSONArray.fromObject(object, jsonConfig).toString();
System.out.println(JSONArray.fromObject(object, jsonConfig));
}
else {
jsonString = JSONObject.fromObject(object, jsonConfig)
.toString();
}
}
return jsonString == null ? "{}" : jsonString;
}
public static void main(String[] args) {
try {
List list = new ArrayList();
Map map1 = new HashMap();
map1.put("id", "01");
map1.put("pId", "cc");
map1.put("name", "a01");
list.add(map1);
Map map2 = new HashMap();
map2.put("id", "0101");
map2.put("pId", "01");
map2.put("name", "a0101");
list.add(map2);
JSONArray jSONArray = new JSONArray();
for (Object object : list) {
Map model = (HashMap)object;
JSONObject jSONObject = new JSONObject();
jSONObject.put("xxxid", model.get("id") );
System.out.println(jSONObject);
jSONArray.add(jSONObject);
System.out.println(jSONArray);
}
JSONObject jSONObject = new JSONObject();
jSONObject.put("jSONArray", jSONArray);
String str = JsonUtil.fromObject(list);
System.out.println("str=="+str);
System.out.println(jSONObject);
} catch (Exception e) {
e.printStackTrace();
}
}
}