Your POJO
classes could look like this:
class Books {
@JsonProperty("Books")
private List<Book> books;
public List<Book> getBooks() {
return books;
}
public void setBooks(List<Book> books) {
this.books = books;
}
@Override
public String toString() {
return "Books [books=" + books + "]";
}
}
class Book {
private String title;
private List<String> instructions;
private Map<String, Link> links;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public List<String> getInstructions() {
return instructions;
}
public void setInstructions(List<String> instructions) {
this.instructions = instructions;
}
public Map<String, Link> getLinks() {
return links;
}
public void setLinks(Map<String, Link> links) {
this.links = links;
}
@Override
public String toString() {
return "Book [title=" + title + ", instructions=" + instructions + ", links=" + links + "]";
}
}
class Link {
private String href;
public String getHref() {
return href;
}
public void setHref(String href) {
this.href = href;
}
@Override
public String toString() {
return href;
}
}
Simple usage:
ObjectMapper mapper = new ObjectMapper();
System.out.println(mapper.readValue(json, Books.class));
Above program prints:
Books [books=[Book [title=Java, instructions=[], links={EJB=www.java.com/EJB}], Book [title=C#, instructions=[], links={SOAP=www.C#.com/SOAP}]]]