java中實體類和JSON對象之間互相轉化。本站提示廣大學習愛好者:(java中實體類和JSON對象之間互相轉化)文章只能為提供參考,不一定能成為您想要的結果。以下是java中實體類和JSON對象之間互相轉化正文
在須要用到JSON對象封裝數據的時刻,常常會寫許多代碼,也有許多復制粘貼,為了用POJO的思惟我們可以裝JSON轉化為實體對象停止操作
package myUtil; import java.io.IOException; import myProject.Student; import myProject.StudentList; import org.codehaus.jackson.map.ObjectMapper; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; /** * 實體類和JSON對象之間互相轉化(依附包jackson-all-1.7.6.jar、jsoup-1.5.2.jar) * @author wck * */ public class JSONUtil { /** * 將json轉化為實體POJO * @param jsonStr * @param obj * @return */ public static<T> Object JSONToObj(String jsonStr,Class<T> obj) { T t = null; try { ObjectMapper objectMapper = new ObjectMapper(); t = objectMapper.readValue(jsonStr, obj); } catch (Exception e) { e.printStackTrace(); } return t; } /** * 將實體POJO轉化為JSON * @param obj * @return * @throws JSONException * @throws IOException */ public static<T> JSONObject objectToJson(T obj) throws JSONException, IOException { ObjectMapper mapper = new ObjectMapper(); // Convert object to JSON string String jsonStr = ""; try { jsonStr = mapper.writeValueAsString(obj); } catch (IOException e) { throw e; } return new JSONObject(jsonStr); } public static void main(String[] args) throws JSONException, IOException { JSONObject obj = null; obj = new JSONObject(); obj.put("name", "213"); obj.put("age", 27); JSONArray array = new JSONArray(); array.put(obj); obj = new JSONObject(); obj.put("name", "214"); obj.put("age", 28); array.put(obj); Student stu = (Student) JSONToObj(obj.toString(), Student.class); JSONObject objList = new JSONObject(); objList.put("student", array); System.out.println("objList:"+objList); StudentList stuList = (StudentList) JSONToObj(objList.toString(), StudentList.class); System.out.println("student:"+stu); System.out.println("stuList:"+stuList); System.out.println("#####################################"); JSONObject getObj = objectToJson(stu); System.out.println(getObj); } }
以上所述就是本文的全體內容了,願望年夜家可以或許愛好。