java 對象Object轉Map / Json

在項目中我們傳值時,常常需要把對象集合轉成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;
    }

結果如下:
在這裏插入圖片描述

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