I created a mini-library for a similar situation, maybe it's useful for you too. It allows you to easily build deserializers with callbacks.
You can find it at
https://github.com/JBeet/Blockbuster. I'm not the most experienced library author, but I did publish it on
maven. Feedback is welcome, and it's a permissive license so use it as you please.