• 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 }
  • 相关阅读:
    java配置环境变量
    What Beautiful HTML Code Looks Like jessica
    Hive 快速搭建
    Apq本地工具集
    SQL:查询购买了所有指定商品的人
    NodeJs
    留存
    markdown
    微信公众号开发
    viper
  • 原文地址:https://www.cnblogs.com/pcheng/p/6875760.html
Copyright © 2020-2023  润新知