定义实体类用于序列化的对象
import com.fasterxml.jackson.annotation.JsonProperty;
public class Person {
@JsonProperty("name")
private String fullName;
private int age;
public Person() {
}
public Person(String fullName, int age) {
this.fullName = fullName;
this.age = age;
}
public String getFullName() {
return fullName;
}
public void setFullName(String fullName) {
this.fullName = fullName;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
使用单元测试进行测试
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class JacksonSerializationDeserializationTest {
private ObjectMapper objectMapper;
@BeforeEach
public void setUp() {
objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
objectMapper.setDateFormat(dateFormat);
objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
}
@Test
public void testSerializeAndDeserializePerson() throws Exception {
Person originalPerson = new Person("IKUN", 25);
String json = objectMapper.writeValueAsString(originalPerson);
Person deserializedPerson = objectMapper.readValue(json, Person.class);
assertEquals(originalPerson.getFullName(), deserializedPerson.getFullName());
assertEquals(originalPerson.getAge(), deserializedPerson.getAge());
}
@Test
public void testSerializeAndDeserializeList() throws Exception {
List<String> stringList = Arrays.asList("Apple", "Banana", "Cherry");
String json = objectMapper.writeValueAsString(stringList);
List<String> deserializedList = objectMapper.readValue(json, List.class);
assertEquals(stringList, deserializedList);
}
@Test
public void testSerializeAndDeserializeMap() throws Exception {
Map<String, Integer> numberMap = new HashMap<>();
numberMap.put("One", 1);
numberMap.put("Two", 2);
String json = objectMapper.writeValueAsString(numberMap);
Map<String, Integer> deserializedMap = objectMapper.readValue(json, Map.class);
assertEquals(numberMap, deserializedMap);
}
}