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);
   //数组并不能跟实体那样能直接获取出来强转,需要先获取JSONArray,因为数组里面的元素是Map
   JSONArray students = jsonObject.getJSONArray("list");
   List<Student> students = JSONObject.parseArray(students.toString(),    Student.class);
       
        
    }

最后将依赖补上:

<dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.37</version>
    </dependency>

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

  • 8
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
<h3>回答1:</h3><br/>在Java中,我们可以使用Gson库来将JSON转换对象。 首先,我们需要将Gson库添加到我们的项目中,可以通过Maven或Gradle依赖进行添加。 接下来,我们需要定义一个Java类来映射JSON数据。这个Java类中需要有与JSON数据对应的属性和getter和setter方法。 然后,我们可以使用Gson的fromJson方法将JSON字符串转换Java对象。 例如,假设我们有以下JSON数据: ``` { "name": "张三", "age": 25, "gender": "男", "email": "zhangsan@example.com" } ``` 我们可以定义一个Person类来映射它: ``` public class Person { private String name; private int age; private String gender; private String email; 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; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } } ``` 然后,我们可以使用Gson的fromJson方法将JSON字符串转换为Person对象: ``` String json = "{\"name\":\"张三\",\"age\":25,\"gender\":\"男\",\"email\":\"zhangsan@example.com\"}"; Gson gson = new Gson(); Person person = gson.fromJson(json, Person.class); ``` 现在,person对象中存储了从JSON数据中获取的属性值。我们可以通过调用person对象的getter方法来获取这些属性的值。 总之,我们可以使用Gson来将JSON转换Java对象,通过定义一个与JSON数据对应的Java类,使用Gson的fromJson方法来实现。 <h3>回答2:</h3><br/> <h3>回答3:</h3><br/>
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值