fastjson用法

1.javaBean对象与json互转

    User user1 = new User();
    user1.setAge(18);
    user1.setName("Tom");
    
    //javaBean对象转json串
    String user1Json = JSON.toJSONString(user1);
    System.out.println("user1Json:  " + user1Json);
    
    //输出:
    user1Json:  {"age":18,"name":"Tom"}
    
    //json串转javaBean对象
    User jsonUser1 = JSON.parseObject(user1Json, User.class);
    System.out.println("jsonUser1:  " + jsonUser1);
    
    //输出:
    jsonUser1:  User [name=Tom, age=18]

2.javaBean组对象与json串互转

    // 构建用户对象数组
    User[] users = new User[2];
    users[0] = guestUser;
    users[1] = rootUser;
    
    // javaBean组对象转json串
    String jsonString2 = JSON.toJSONString(users);
    System.out.println("jsonString2:  " + jsonString2);
    
    //输出:
    jsonString2:  [{"age":35,"name":"guest"},{"age":0,"name":"root"}]
    
    // JSON串转用户组对象
    UserGroup group2 = JSON.parseObject(jsonString, UserGroup.class);
    System.out.println("group2:  " + group2);
    
    //输出:
    group2:  UserGroup [name=admin, users=[User [name=guest, age=35], User [name=root, age=0]]]

3.javaBean对象数组与json串互转

    // 构建用户对象数组
    User[] users = new User[2];
    users[0] = guestUser;
    users[1] = rootUser;
    
    // 用户对象数组转JSON串
    String jsonString2 = JSON.toJSONString(users);
    System.out.println("jsonString2:  " + jsonString2);
    
    //输出:
    jsonString2:  [{"age":35,"name":"guest"},{"age":0,"name":"root"}]
    
    // JSON串转用户对象列表
    List<User> users2 = JSON.parseArray(jsonString2, User.class);
    System.out.println("users2:  " + users2);
    
    //输出:
    users2:  [User [name=guest, age=35], User [name=root, age=0]]

4.javaBean List对象与json串互转

    User user1 = new User();
    user1.setAge(18);
    user1.setName("Tom");
    
    User user2 = new User();
    user2.setAge(20);
    user2.setName("Andi");
    
    //构建用户List对象
    List<User> userList = new ArrayList<>();
    userList.add(user1);
    userList.add(user2);
    
    //用户List对象转json串
    String userListJson = JSON.toJSONString(userList);
    System.out.println("jsonList字符串:" + userListJson);
    
    //输出:
    jsonList字符串:[{"age":18,"name":"Tom"},{"age":20,"name":"Andi"}]
    
    //json串转用户List对象
    List<User> jsonUserList = JSON.parseArray(userListJson, User.class);
    
    System.out.println("user1对象:" + jsonUserList.get(0));
    System.out.println("user2对象:" + jsonUserList.get(1));
    
    //输出:
    user1对象:User [name=Tom, age=18]
    user2对象:User [name=Andi, age=20]

5.map对象与json串互转

    //map对象转json串
    Map<String, String> mapJson = new HashMap<String, String>();
    mapJson.put("aa", "11");
    mapJson.put("bb", "22");
    mapJson.put("cc", "33");
    
    String jsonMapStr = JSON.toJSONString(mapJson);
    System.out.println("jsonMapStr:  " + jsonMapStr);
    
    //输出:
    jsonMapStr:  {"aa":"11","bb":"22","cc":"33"}
    
    // json字符串转map对象
    String o = "{'area':  {'area':  '1','pagetype':  'home'},'pagetype':  'home'}";
    Map map = (Map) JSONObject.parseObject(o).get("area");
    
    System.out.println("area:  " + map.get("area"));
    
    //输出:
    area:  1

6.json对象输出为json串

    // json对象转json字符串;与map对象转json字符串类似
    JSONObject json = new JSONObject();
    json.put("aa", "11");
    json.put("bb", "22");
    json.put("cc", "33");
    
    String jsonStr = json.toString();
    System.out.println("jsonStr:  " + jsonStr);
    
    //输出:
    jsonStr:  {"aa":"11","bb":"22","cc":"33"}

7.json通过TypeReference转为需要的类型

    //TypeReference可以指定需要反序列化的类型
    String o = "{'area':  {'area':  '1','pagetype':  'home'},'pagetype':  'home'}";
    
    // 通过TypeReference指定反序列化的类型来实现json到相应类型对象的转换
    // 该json格式字符串对象被转换为了指定的Map<String, Object>对象
    Map<String, Object> userMap = JSON.parseObject(o, new TypeReference<Map<String, Object>>() {
    });
    
    System.out.println((userMap.get("area")));
    
    //输出:
    area: {"area":"1","pagetype":"home"}

完整示例代码如下:

    package simcs.web;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONObject;
    import com.alibaba.fastjson.TypeReference;
    
    class User {
        private String name;
        private int age;
    
        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 "User [name=" + name + ", age=" + age + "]";
        }
    }
    
    class UserGroup {
        private String name;
        private List<User> users = new ArrayList<User>();
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public List<User> getUsers() {
            return users;
        }
    
        public void setUsers(List<User> users) {
            this.users = users;
        }
    
        @Override
        public String toString() {
            return "UserGroup [name=" + name + ", users=" + users + "]";
        }
    }
    
    public class FastjsonDemo {
    
        public static void main(String[] args) {
    
            // 构建用户geust
            User guestUser = new User();
            guestUser.setName("guest");
            guestUser.setAge(28);
    
            String userJson = JSON.toJSONString(guestUser);
            System.out.println("userJson:  " + userJson);
    
            System.out.println();
    
            // jsonString转对象
            User jsonUser = JSON.parseObject(userJson, User.class);
            System.out.println("jsonUser:  " + jsonUser);
    
            System.out.println();
    
            // 构建用户root
            User rootUser = new User();
            rootUser.setName("root");
            guestUser.setAge(35);
            // 构建用户组对象
            UserGroup group = new UserGroup();
            group.setName("admin");
            group.getUsers().add(guestUser);
            group.getUsers().add(rootUser);
    
            // 用户组对象转JSON串
            String jsonString = JSON.toJSONString(group);
            System.out.println("jsonString:  " + jsonString);
    
            System.out.println();
    
            // JSON串转用户组对象
            UserGroup group2 = JSON.parseObject(jsonString, UserGroup.class);
            System.out.println("group2:  " + group2);
    
            System.out.println();
    
            // 构建用户对象数组
            User[] users = new User[2];
            users[0] = guestUser;
            users[1] = rootUser;
            // 用户对象数组转JSON串
            String jsonString2 = JSON.toJSONString(users);
            System.out.println("jsonString2:  " + jsonString2);
    
            // JSON串转用户对象列表
            List<User> users2 = JSON.parseArray(jsonString2, User.class);
            System.out.println("users2:  " + users2);
    
            System.out.println();
    
            // json对象转json字符串;与map对象转json字符串类似
            JSONObject json = new JSONObject();
            json.put("aa", "11");
            json.put("bb", "22");
            json.put("cc", "33");
            String jsonStr = json.toString();
            System.out.println("jsonStr:  " + jsonStr);
    
            System.out.println();
    
            Map<String, String> mapJson = new HashMap<String, String>();
            mapJson.put("aa", "11");
            mapJson.put("bb", "22");
            mapJson.put("cc", "33");
    
            String jsonMapStr = JSON.toJSONString(mapJson);
            System.out.println("jsonMapStr:  " + jsonMapStr);
    
            // json字符串转map对象
            String o = "{'area':  {'area':  '1','pagetype':  'home'},'pagetype':  'home'}";
            Map map = (Map) JSONObject.parseObject(o).get("area");
    
            System.out.println("area:  " + map.get("area"));
    
            System.out.println();
    
            // 通过TypeReference指定反序列化的类型来实现json到相应类型对象的转换
            // 该json格式字符串对象被转换为了指定的Map<String, Object>对象
            Map<String, Object> userMap = JSON.parseObject(o, new TypeReference<Map<String, Object>>() {
            });
    
            System.out.println("area: " + (userMap.get("area")));
    
            User user1 = new User();
            user1.setAge(18);
            user1.setName("Tom");
    
            String user1Json = JSON.toJSONString(user1);
            System.out.println("user1Json:   " + user1Json);
    
            User jsonUser1 = JSON.parseObject(user1Json, User.class);
            System.out.println("jsonUser1:  " + jsonUser1);
    
            User user2 = new User();
            user2.setAge(20);
            user2.setName("Andi");
    
            List<User> userList = new ArrayList<>();
            userList.add(user1);
            userList.add(user2);
    
            String userListJson = JSON.toJSONString(userList);
            System.out.println("jsonList字符串:" + userListJson);
    
            System.out.println();
    
            List<User> jsonUserList = JSON.parseArray(userListJson, User.class);
    
            System.out.println("user1对象:" + jsonUserList.get(0));
            System.out.println("user2对象:" + jsonUserList.get(1));
    
        }
    
    }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。