在项目中我们传值时,常常需要把对象集合转成Json集合进行传递。可用如下代码来进行转换:
@Test
public void test() throws Exception {
List<JSONObject> dataJson = getDataJson();
System.out.println(dataJson);
}
public List<JSONObject> getDataJson() throws Exception {
List<JSONObject> li=new ArrayList<JSONObject>();
List<DB2> db2 = getDataFromDB2("3"); // 这个是自己的数据源,就是一个对象集合
for(DB2 d:db2) {
Map<String, Object> map = objectToMap(d);
li.add(new JSONObject(map));
}
return li;
}
public Map<String, Object> objectToMap(Object obj) throws IllegalAccessException {
Map<String, Object> map = new HashMap<String,Object>();
Class<?> clazz = obj.getClass();
for (Field field : clazz.getDeclaredFields()) {
field.setAccessible(true);
String fieldName = field.getName();
Object value = field.get(obj);
map.put(fieldName, value);
}
return map;
}
结果如下: