首先创建一个简单的类
package com.wei.demo.pojo;
/**
* @Author wei
* @Date 2022/6/2 9:24
* @Version 1.0
*/
public class Teacher {
private int id;
private String name;
private int age;
public Teacher() {
}
public Teacher(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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 "Teacher{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}
备注:我这里使用的是maven仓库
1、 使用ObjectMapper类进行转换
需要导入依赖,可以选择导入以下依赖
不过我不喜欢这样,如果可以用一个依赖包括这些就好了,所以我选择导入这个依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.5.0</version>
</dependency>
这一个依赖里面包含了上面的几个依赖
这样更方便一点。
接下来直接进行测试
测试如下:
package com.wei.demo.pojo;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
/**
* @Author wei
* @Date 2022/6/2 9:25
* @Version 1.0
*/
public class Test {
public static void main(String[] args) throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
Teacher teacher = new Teacher(1, "张三", 25);
String teachStr = mapper.writeValueAsString(teacher);
System.out.println("转换为字符串为:" + teachStr);
Teacher teachValue = mapper.readValue(teachStr, Teacher.class);
System.out.println("转换为teacher字符为:"+ teachValue.toString());
}
}
这里需要注意的是:在Teacher类里面需要创建一个无参构造,否则会报错
2、使用阿里巴巴的fastJSON来进行转换
1、导入依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.76</version>
</dependency>
2、测试
package com.wei.demo.pojo;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
/**
* @Author wei
* @Date 2022/6/2 9:25
* @Version 1.0
*/
public class Test1 {
public static void main(String[] args) {
Teacher teacher = new Teacher(1, "张三", 25);
String teachStr = JSON.toJSONString(teacher);
System.out.println("转换为字符串为:" + teachStr);
Teacher teachValue = JSON.parseObject(teachStr, Teacher.class);
System.out.println("转换为teacher字符为:"+ teachValue.toString());
}
}
这两种方法都可以转换