使用Jackson操作Json

Posted 火热火热7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Jackson操作Json相关的知识,希望对你有一定的参考价值。

1.引入jasckson-core.jar,jackson-annotations.jar和jackson-databind.jar

 

2.因为没有做从http获取和提交json数据,所以做个数据类代替

 1 class WxJson {
 2     public String getAccess_token() {
 3         return access_token;
 4     }
 5 
 6     public void setAccess_token(String access_token) {
 7         this.access_token = access_token;
 8     }
 9 
10     public int getExpires_in() {
11         return expires_in;
12     }
13 
14     public void setExpires_in(int expires_in) {
15         this.expires_in = expires_in;
16     }
17 
18     public String getRefresh_token() {
19         return refresh_token;
20     }
21 
22     public void setRefresh_token(String refresh_token) {
23         this.refresh_token = refresh_token;
24     }
25 
26     public String getOpenid() {
27         return openid;
28     }
29 
30     public void setOpenid(String openid) {
31         this.openid = openid;
32     }
33 
34     public String getScope() {
35         return scope;
36     }
37 
38     public void setScope(String scope) {
39         this.scope = scope;
40     }
41 
42     public String getUnionid() {
43         return unionid;
44     }
45 
46     public void setUnionid(String unionid) {
47         this.unionid = unionid;
48     }
49 
50     private String access_token;
51     private int expires_in;
52     private String refresh_token;
53     private String openid;
54     private String scope;
55     private String unionid;
56 }

 

3下面先用两种方式将数据转换成json数据,最后将转换的json数据转换回List对象

 1 import com.fasterxml.jackson.databind.ObjectMapper;
 2 
 3 import java.io.IOException;
 4 import java.util.ArrayList;
 5 import java.util.List;
 6 
 7 public class Main {
 8 
 9     public static void main(String[] args) throws IOException {
10 
11         WxJson wxJson = new WxJson();
12         ObjectMapper mapper = new ObjectMapper();
13 
14         // Convert a java object to json
15         wxJson.setAccess_token("ACCESS_TOKEN");
16         wxJson.setExpires_in(7200);
17         wxJson.setRefresh_token("REFRESH_TOKEN");
18         wxJson.setOpenid("OPENID");
19         wxJson.setScope("SCOPE");
20         wxJson.setUnionid("o6_bmasdasdsad6_2sgVt7hMZOPfL");
21         String json = mapper.writeValueAsString(wxJson);
22         System.out.println(json);
23 
24         List<WxJson> wxJsons = new ArrayList<WxJson>();
25         wxJsons.add(wxJson);
26         String jsonList = mapper.writeValueAsString(wxJsons);
27         System.out.println(jsonList);
28 
29 
30         WxJson wxJson1 = mapper.readValue(json, WxJson.class);
31         System.out.println(wxJson1.getAccess_token() + " " + wxJson1.getExpires_in());
32 
33     }
34 }

 

输出结果

1 {"access_token":"ACCESS_TOKEN","expires_in":7200,"refresh_token":"REFRESH_TOKEN","openid":"OPENID","scope":"SCOPE","unionid":"o6_bmasdasdsad6_2sgVt7hMZOPfL"}
2 [{"access_token":"ACCESS_TOKEN","expires_in":7200,"refresh_token":"REFRESH_TOKEN","openid":"OPENID","scope":"SCOPE","unionid":"o6_bmasdasdsad6_2sgVt7hMZOPfL"}]
3 ACCESS_TOKEN 7200

 

以上是关于使用Jackson操作Json的主要内容,如果未能解决你的问题,请参考以下文章

JSON到POJO作为使用jackson java的对象类

Jackson 解析 JSON 详细教程

Jackson 解析 JSON 详细教程

Java之JSON操作(Jackson)

使用Redis和jackson操作json中遇到的坑

Java下利用Jackson进行JSON解析和序列化