I've been looking at Jackson, but is seems I would have to convert the Map to JSON, and then the resulting JSON to the POJO.
Is there a way to convert a Map directly to a POJO?
Well, you can achieve that with Jackson, too. (and it seems to be more comfortable since you were considering using jackson).
final ObjectMapper mapper = new ObjectMapper(); // jackson's objectmapper final MyPojo pojo = mapper.convertValue(map, MyPojo.class);
No need to convert into JSON string or something else; direct conversion does much faster.