zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    模板 无源汇上下界可行流 loj115
    ICPC2018JiaozuoE Resistors in Parallel 高精度 数论
    hdu 2255 奔小康赚大钱 最佳匹配 KM算法
    ICPC2018Beijing 现场赛D Frog and Portal 构造
    codeforce 1175E Minimal Segment Cover ST表 倍增思想
    ICPC2018Jiaozuo 现场赛H Can You Solve the Harder Problem? 后缀数组 树上差分 ST表 口胡题解
    luogu P1966 火柴排队 树状数组 逆序对 离散化
    luogu P1970 花匠 贪心
    luogu P1967 货车运输 最大生成树 倍增LCA
    luogu P1315 观光公交 贪心
  • 原文地址:https://www.cnblogs.com/pcheng/p/6875760.html
Copyright © 2011-2022 走看看