
正文
实体类和JSON对象之间相互转化
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
. [代码]工具类
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | 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); }} |
2. [代码]实体(子类)
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | package myProject;public class Student { private String name; private int age; //private StudentClass studentClass; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Student [name=" + name + ", age=" + age + "]"; }} |
3. [代码]实体父类 跳至 [1] [2] [3] [全屏预览]
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | package myProject;import java.util.List;public class StudentList { List<Student> student; public List<Student> getStudent() { return student; } public void setStudent(List<Student> student) { this.student = student; } @Override public String toString() { return "StudentList [student=" + student + "]"; } } |







