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

1. 导入fastjson的jar包

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

e812b6eaf0468084602450a8876ba005bdc.jpg

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

需要的实体类格式:

6a393655cf08a37d369e2c79cabb7a7f042.jpg

转换过程:

bb9704218242e90133059d7a42a13e08c91.jpg

2.1.2 将json数据转为对象

c73c7cce07691ff4d51a8aac3f9ad8b6aa0.jpg

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);
    }

 

需要的实体类对象

6a393655cf08a37d369e2c79cabb7a7f042.jpg

29c7c056f365a67786218e5f60e75bfd5cd.jpg

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);
    }

 

392fbaabc193944d8a9bc447ad4fe08939d.jpg

 

92ef366a692b3c95546c4ef7c044c0660cc.jpg

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);
    }

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

546f3ae72faf446597e224fbbd5a1a421ff.jpg

 将

95052401029e4bcc8d935588518984f78a0.jpg

转载于:https://my.oschina.net/springMVCAndspring/blog/1861075

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值