json字符串与java对象的相互转换(jackson)
pom
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.10.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.10.0</version>
</dependency>
entity
public class Student {
private String name;
private Integer age;
public Student() {};
public Student(String name,Integer age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
}
test
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class Test {
public static void main(String[] args) throws JsonMappingException, JsonProcessingException {
ObjectMapper om = new ObjectMapper();
// javaBean -> json
Student stu = new Student("小学生",20);
String s = om.writeValueAsString(stu);
System.out.println(s); // {"name":"小学生","age":20}
// json -> javaBean
String jsonStr = "{\"name\":\"chichung\",\"age\":23}";
Student student = om.readValue(jsonStr, Student.class);
System.out.println(student); // Student [name=chichung, age=23]
}
}
TIPS:javaBean -> json的另一种方法
writeValue(参数1,obj):
参数1:
File:将obj对象转换为JSON字符串,并保存到指定的文件中
Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中
OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中