在需要用到JSON对象封装数据的时候,往往会写很多代码,也有很多复制粘贴,为了用POJO的思想我们可以装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
|
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); } } |
以上所述就是本文的全部内容了,希望大家能够喜欢。