Skip to content

Instantly share code, notes, and snippets.

@xstefank
Created July 19, 2023 08:28
Show Gist options
  • Save xstefank/b482836adeb2631108074869ecbcea0a to your computer and use it in GitHub Desktop.
Save xstefank/b482836adeb2631108074869ecbcea0a to your computer and use it in GitHub Desktop.
///usr/bin/env jbang "$0" "$@" ; exit $?
//DEPS com.fasterxml.jackson.core:jackson-databind:2.15.2
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.List;
class Task {
public String name;
}
class TimedTask extends Task {
public int duration;
}
class Employee {
public int id;
public List<Task> tasks;
}
class Manager extends Employee {
public List<TimedTask> tasks;
}
public class jacksonInheritence {
public static void main(String... args) throws Exception {
String managerString = "{ \"id\": 1, \"tasks\": [ { \"duration\": 7 } ]}";
ObjectMapper mapper = new ObjectMapper();
Manager manager = mapper.readValue(managerString, Manager.class);
System.out.println(manager.id);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment