JSON转换JAVA对象

一、java转为json字符串

Student s = new Student();
s.setName("huang");
s.setAge(16);
System.out.println(s);

JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(s));
System.out.println(jsonObject);

所有对象转成json字符串都可以使用

结果:

Student{name='huang', age=16}
{"name":"huang","age":16}

二、JSON字符串(单对象)转java对象

请求:

//可以是一个对象,也可以是多个对象,json数据结构其实就是kv结构
{
	"student":{
		"name":"老王",
	        "age":12
        }
	
}

获取处理:

    @PostMapping("/getObject")
    public void getObject(@RequestBody JSONObject object){
        //已知类型的情况下可以使用
        //不知道的情况可以转成Map结构数据
        Student student = object.getObject("student", Student.class);

        System.out.println(student);
       
    }

 

三、json字符串转list

请求:

{
	"list":[
		{
			"name":"老王",
			"age":25
		}
	],
	"student":{
			"name":"老李",
			"age":46
		}
}

处理:

 @PostMapping("/getLis")
    public void getLis(@RequestBody JSONObject object){
        Student student = object.getObject("student", Student.class);
        Object list = object.get("list");
        //已知数组类型可以直接强转
        List list1 = (List) list;
        System.out.println(list1);
        
    }

最后将依赖补上:


        com.alibaba
        fastjson
        1.2.37
    

有其他更好的方法欢迎留言交流

你可能感兴趣的:(功能实现)