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);
}
}
以上所述就是本文的全體內容了,願望年夜家可以或許愛好。