在需要用到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); } } |
以上所述就是本文的全部內容了,希望大家能夠喜歡。