在Java開發(fā)中,經(jīng)常會使用實體類來表示數(shù)據(jù)模型,而JSON作為一種輕量級的數(shù)據(jù)交換格式,也被廣泛使用。將實體類轉(zhuǎn)換成JSON數(shù)據(jù),是Java開發(fā)中的重要操作之一。
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; } }
以上是一個簡單的學生實體類,現(xiàn)在我們需要將其轉(zhuǎn)換成JSON格式的數(shù)據(jù)。
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); //將學生實體類轉(zhuǎn)換成JSON字符串 String json = objectMapper.writeValueAsString(student); System.out.println(json); } }
上述代碼中,使用了jackson庫的ObjectMapper對象來將學生實體類轉(zhuǎn)換成JSON字符串。使用writeValueAsString()方法,將實體類轉(zhuǎn)換成JSON字符串。
轉(zhuǎn)換后的結(jié)果為:
{"name":"Tom","age":18}
可以看到,實體類的屬性名被轉(zhuǎn)換成了JSON字符串中的key值,屬性值則被轉(zhuǎn)換成了value值。
反過來,我們也可以將JSON字符串轉(zhuǎn)換成實體類。代碼如下:
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字符串轉(zhuǎn)換為學生實體類 Student student = objectMapper.readValue(json, Student.class); System.out.println(student.getName()); System.out.println(student.getAge()); } }
使用readValue()方法,將JSON字符串轉(zhuǎn)換成實體類對象。需要指定轉(zhuǎn)換的類型,這里指定為Student類。
轉(zhuǎn)換后的結(jié)果為:
Tom 18
可以看到,轉(zhuǎn)換成功了。