161.使用fastjson将json格式的数据转化为对象

原创
2018/07/22 21:36
阅读数 3.8K

1. 导入fastjson的jar包

        <!-- 9.fastjson -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.47</version>
            </dependency>

2. 常用几种类型的json转化为对象

 

 

2.1 对象形式的json

    @RequestMapping("/EasyJsonToObject.action")
    public void EasyJsonToObject(){
        
        //(1) 创建一个对象并将 给对象赋值 然后使用fastjson转化为json类型的数据   
            Student student = new  Student();
                    student.setId(UUID.randomUUID().toString().replaceAll("-", ""));//生成id
                    student.setName("张三");
                    student.setPassword("122455");
            String studentJson = JSON.toJSONString(student);//将对象转json
            System.out.println(studentJson);
                
            
        //(2)再将对象转化为
        Student changeStudent = JSON.parseObject(studentJson,Student.class);
        System.out.println(changeStudent);
    }

2.1.1 将对象转化为json

需要的实体类格式:

转换过程:

2.1.2 将json数据转为对象

2.2 将list对象转为json 然后将对象list数据

@RequestMapping("/listJsonToObject.action")
    public void listJsonToObject(){
        
        //(1) 创建一个对象并将 给对象赋值 然后使用fastjson转化为json类型的数据   
               List<Student> list= new ArrayList<Student>();
                Student student = new  Student();
                    student.setId(UUID.randomUUID().toString().replaceAll("-", ""));//生成id
                    student.setName("刘莹");
                    student.setPassword("123456");
               Student student2 = new  Student();
                    student2.setId(UUID.randomUUID().toString().replaceAll("-", ""));//生成id
                    student2.setName("张晓琪");
                    student2.setPassword("789456");
                    list.add(student);
                    list.add(student2);
            String studentJson = JSON.toJSONString(list);//将对象转json
            System.out.println(studentJson);
        
        
        //(2)再将对象转化为
        List<Student> list2 = JSON.parseArray(studentJson,Student.class);
        System.out.println(list2);
    }

 

需要的实体类对象

2.3  对象中含有对象 转化为对象

    @RequestMapping("/mapListJsonToObject.action")
    public void mapListJsonToObject(){
        
        //(1) 创建一个对象并将 给对象赋值 然后使用fastjson转化为json类型的数据   
        HashMap<String, Object> map = new   HashMap<String,Object>();//用来装数据
        
        Student student = new  Student();
            student.setId(UUID.randomUUID().toString().replaceAll("-", ""));//生成id
            student.setName("刘思佳");
            student.setPassword("123456");
        
            map.put("code", "200");
            map.put("data", student);
        String studentJson = JSON.toJSONString(map);//将对象转json
        System.out.println(studentJson);
        //(2)再将对象转化为
        Data data = JSON.parseObject(studentJson,Data.class);
        System.out.println(data);
    }

 

 

2.4 对象中含有list的json格式

    /**
     * 3.复杂json转为对象
     *                                        对象中包含数组的json
     * http://localhost:8080/mavenssm20180519//josnIncludeListJsonToObject.action
     * @Title: josnIncludeListJsonToObject
     * @Description: 
     * @return void
     * @throws 
       @date 2018年7月22日 下午10:46:00
     */
    @RequestMapping("/josnIncludeListJsonToObject.action")
    public void josnIncludeListJsonToObject(){
        //(1) 创建一个对象并将 给对象赋值 然后使用fastjson转化为json类型的数据   
        HashMap<String, Object> map = new   HashMap<String,Object>();//用来装数据
        
        List<Student> list= new ArrayList<Student>();
        Student student = new  Student();
            student.setId(UUID.randomUUID().toString().replaceAll("-", ""));//生成id
            student.setName("刘思佳");
            student.setPassword("123456");
        Student student2 = new  Student();
            student2.setId(UUID.randomUUID().toString().replaceAll("-", ""));//生成id
            student2.setName("陈晓莹");
            student2.setPassword("789456");
        list.add(student);
        list.add(student2);
            map.put("code", "200");
            map.put("data", list);
            String studentJson = JSON.toJSONString(map);//将对象转json
        System.out.println(studentJson);
        //(2)再将对象转化为
     Data data = JSON.parseObject(studentJson,Data.class);
        System.out.println(data);
    }

需要的实体类(****重要)

 将

展开阅读全文
打赏
0
2 收藏
分享
加载中
更多评论
打赏
0 评论
2 收藏
0
分享
返回顶部
顶部