实体类和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 + "]" ;
         }  
}

转载于:https://www.cnblogs.com/likeju/p/5350942.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值