Riporto un paio di commenti basandomi su delle domande ricevute via mail.
Riguardo le librerie json, vanno bene tutte quelle che gestiscono solo serializzazione e deserializzazione, ma non quelle che gestiscono anche la comunicazione. Esempio: se usate una libreria che, passata una stringa, vi restituisce l'oggetto json va bene. Non va bene se fate gestire alla libreria anche la scrittura/lettura su/da channel o stream.
Dato che esistono centomila librerie per gestire oggetti json, è fondamentale che scriviate nella relazione quali librerie avete usato, INCLUSA LA VERSIONE! Aggiungo inoltre che usare strumenti per la gestione automatica delle dipendenze (maven *wink wink* gradle *wink wink*) è ben accetto e semplifica la vita a chi vi corregge i progetti, mettendoci di buon umore :)
Buon lavoro a tutti!