Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import static org.assertj.core.api.Assertions.assertThat;
- import lombok.Data;
- import java.util.List;
- import org.junit.jupiter.api.Test;
- import com.fasterxml.jackson.annotation.JsonTypeInfo;
- import com.fasterxml.jackson.core.JsonProcessingException;
- import com.fasterxml.jackson.databind.ObjectMapper;
- public class JacksonPlainTest {
- @Test
- void testPlain() throws JsonProcessingException {
- ObjectMapper m = new ObjectMapper();
- m.findAndRegisterModules();
- Dog dog = new Dog();
- dog.setName("dog");
- Cat cat = new Cat();
- cat.setName("cat");
- List<Animal> animals = List.of(dog, cat);
- Zoo z = new Zoo();
- z.setAnimals(animals);
- String json = m.writeValueAsString(z);
- Zoo deser = m.readValue(json, Zoo.class);
- assertThat(z).isEqualTo(deser);
- }
- @Data
- static class Zoo {
- @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS)
- List<Animal> animals;
- }
- interface Animal {
- String getName();
- }
- @Data
- static class Dog implements Animal {
- String name;
- }
- @Data
- static class Cat implements Animal {
- String name;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement