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