alibaba架包FastJson使用例子


  alibaba的架包FastJson可以對json字符串進行快捷的類型轉換。下面是一些各種類型轉換的使用例子。

一、下載FastJson的架包,並導入項目中,如下:

Maven項目pom.xml配置如下:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.32</version>
</dependency>

 

二、附上代碼例子,如下:

1、創建2個實體類,供后面例子使用,如下:

 1 public class School {
 2     private String id;
 3     private String name;
 4     List<User> students = new ArrayList<User>();
 5     public String getId() {
 6         return id;
 7     }
 8     public void setId(String id) {
 9         this.id = id;
10     }
11     public String getName() {
12         return name;
13     }
14     public void setName(String name) {
15         this.name = name;
16     }
17     public List<User> getStudents() {
18         return students;
19     }
20     public void setStudents(List<User> students) {
21         this.students = students;
22     }
23 }

 

 1 public class User {
 2     private String id;
 3     private String name;
 4     
 5     public User(){
 6         
 7     }
 8     public User(String id, String name){
 9         this.id = id;
10         this.name = name;
11     }
12     
13     public String getId() {
14         return id;
15     }
16     public void setId(String id) {
17         this.id = id;
18     }
19     public String getName() {
20         return name;
21     }
22     public void setName(String name) {
23         this.name = name;
24     }
25 }

 

2、Json字符串與Map、List、object之間的相互轉換例子,如下:

  1 import java.util.ArrayList;
  2 import java.util.HashMap;
  3 import java.util.List;
  4 import java.util.Map;
  5 
  6 import com.alibaba.fastjson.JSON;
  7 import com.alibaba.fastjson.JSONArray;
  8 import com.alibaba.fastjson.JSONObject;
  9 
 10 public class TestFastJson {
 11 
 12     public static void main(String[] args){
 13         json2JsonObject();//將Json字符串轉換為JSONObject對象
 14         json2JavaBean();//將Json字符串轉換為JavaBean對象
 15         json2JsonArray();//將Json字符串轉換為JSONArray對象
 16         json2JavaBeanList();//將Json字符串轉換為JavaBean的集合
 17         javaBean2Json();//將JavaBean轉換為Json格式的數據
 18         javaBean2JsonObject();//將JavaBean轉換為JSONObject對象
 19         json2ListInMap();//從Json字符串的Map中獲取List對象
 20         list2JsonInMap();//將含list的Map對象轉換為Json字符串
 21     }
 22     
 23     private static void json2JsonObject() {
 24         String s = "{\"name\":\"peter\"}";
 25         JSONObject object = JSON.parseObject(s);
 26         System.out.println(object.get("name"));
 27     }
 28     
 29     private static void json2JavaBean() {
 30         String s = "{\"id\":\"17051801\",\"name\":\"lucy\"}";
 31         User user = JSON.parseObject(s, User.class);
 32         System.out.println(user.getId());
 33         System.out.println(user.getName());
 34     }
 35     
 36     private static void json2JsonArray() {
 37         String s = "[{\"id\":\"17051801\",\"name\":\"lucy\"},{\"id\":\"17051802\",\"name\":\"peter\"}]";
 38         JSONArray array = JSON.parseArray(s);
 39         for (int i = 0; i < array.size(); i++) {
 40             //JSONArray中的數據轉換為String類型需要在外邊加"";不然會報出類型強轉異常!
 41             String str = array.get(i)+"";
 42             JSONObject object = JSON.parseObject(str);
 43             System.out.println(object.get("name"));
 44         }
 45     }
 46     
 47     private static void json2JavaBeanList() {
 48         String s = "[{\"id\":\"17051801\",\"name\":\"lucy\"},{\"id\":\"17051802\",\"name\":\"peter\"}]";
 49         List<User> list = JSON.parseArray(s, User.class);
 50         for (User user : list) {
 51             System.out.println(user.getName());
 52         }
 53     }
 54     
 55     private static void javaBean2Json() {
 56         User user = new User("17051801", "lucy");
 57         String string = JSON.toJSONString(user);
 58         System.out.println(string);
 59     }
 60     
 61     private static void javaBean2JsonObject() {
 62         User user = new User("17051801", "lucy");
 63         JSONObject json = (JSONObject) JSON.toJSON(user);
 64         System.out.println(json.get("id"));
 65     }
 66     
 67     private static void json2ListInMap() {
 68         String s = "{json:[{id:\"17051801\",\"name\":\"lucy\"},{id:\"17051802\",\"name\":\"peter\"},"
 69                 + "{id:\"17051803\",\"name\":\"tom\"},{id:\"17051804\",\"name\":\"lily\"}]}";
 70         //將Json字符串轉換為JSONObject對象,並取出list對象的值
 71         JSONObject object = JSON.parseObject(s);
 72         Object objArray = object.get("json");
 73         String str = objArray+"";
 74         //方式1:轉換成JSONArray對象形式
 75         JSONArray array = JSON.parseArray(str);
 76         for (int i = 0; i < array.size(); i++) {
 77             JSONObject obj = JSON.parseObject(array.get(i)+"");
 78             System.out.println(obj.get("name"));
 79         }
 80         //方式2:轉換成List<JavaBean>形式
 81         List<User> list = JSON.parseArray(str, User.class);
 82         for (User user : list) {
 83             System.out.println(user.getName());
 84         }
 85     }
 86     
 87     private static void list2JsonInMap() {
 88         //方式1:構建一個帶有list的JavaBean對象
 89         School school = new School();
 90         school.setId("1");
 91         school.setName("schoolA");
 92         
 93         User user1 = new User();
 94         user1.setId("17051801");
 95         user1.setName("lucy");
 96         User user2 = new User();
 97         user2.setId("17051802");
 98         user2.setName("peter");
 99         
100         school.getStudents().add(user1);
101         school.getStudents().add(user2);
102         //將JavaBean對象轉換成Json字符串
103         String string1 = JSON.toJSONString(school);
104         System.out.println(string1);
105         
106         //方式2:構建一個帶有list的Map對象
107         Map<String, Object> map1 = new HashMap<String,Object>();
108         map1.put("id", "17051801");
109         map1.put("name", "lucy");
110         
111         Map<String, Object> map2 = new HashMap<String,Object>();
112         map2.put("id", "17051802");
113         map2.put("name", "peter");
114         
115         List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
116         list.add(map1);
117         list.add(map2);
118         
119         Map<String, Object> map = new HashMap<String,Object>();
120         map.put("id", "1");
121         map.put("name", "schoolA");
122         map.put("students", list);
123         //將map對象轉換成Json字符串
124         String string2 = JSON.toJSONString(map);
125         System.out.println(string2);
126     }
127 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM