在Java開發中,經常會使用實體類來表示數據模型,而JSON作為一種輕量級的數據交換格式,也被廣泛使用。將實體類轉換成JSON數據,是Java開發中的重要操作之一。
public class Student { private String name; private int age; public Student(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } }
以上是一個簡單的學生實體類,現在我們需要將其轉換成JSON格式的數據。
import com.fasterxml.jackson.databind.ObjectMapper; public class JsonTest { public static void main(String[] args) throws Exception { ObjectMapper objectMapper = new ObjectMapper(); Student student = new Student("Tom", 18); //將學生實體類轉換成JSON字符串 String json = objectMapper.writeValueAsString(student); System.out.println(json); } }
上述代碼中,使用了jackson庫的ObjectMapper對象來將學生實體類轉換成JSON字符串。使用writeValueAsString()方法,將實體類轉換成JSON字符串。
轉換后的結果為:
{"name":"Tom","age":18}
可以看到,實體類的屬性名被轉換成了JSON字符串中的key值,屬性值則被轉換成了value值。
反過來,我們也可以將JSON字符串轉換成實體類。代碼如下:
import com.fasterxml.jackson.databind.ObjectMapper; public class JsonTest { public static void main(String[] args) throws Exception { ObjectMapper objectMapper = new ObjectMapper(); String json = "{\"name\":\"Tom\",\"age\":18}"; //將JSON字符串轉換為學生實體類 Student student = objectMapper.readValue(json, Student.class); System.out.println(student.getName()); System.out.println(student.getAge()); } }
使用readValue()方法,將JSON字符串轉換成實體類對象。需要指定轉換的類型,這里指定為Student類。
轉換后的結果為:
Tom 18
可以看到,轉換成功了。