Gson
Meer info
- Maker
- Uitgebracht
- Type
- Java-bibliotheek
- Licentie
- Apache 2.0
- Broncode
- github.com/google/gson
Googles Java-bibliotheek om objecten naar JSON om te zetten en terug, in twee methodeaanroepen en zonder één annotatie.
Gson is intern bij Google gebouwd en in 2008 als open source vrijgegeven. De aantrekkingskracht zat in het gebrek aan ceremonie: new Gson().toJson(obj) en fromJson(str, Foo.class) werken op bestaande klassen zonder die aan te passen, omdat de bibliotheek velden via reflectie uitleest. Dat stak scherp af tegen Java-bibliotheken uit die tijd die XML-configuratie eisten.
De valkuil is generics. Java wist typeparameters tijdens het compileren, dus List<Foo> kan niet als gewone klasseliteral worden uitgedrukt, en de omweg is het cryptische new TypeToken<List<Foo>>(){}.getType(): een anonieme subklasse die er alleen is om de typeinformatie te bewaren. Gson domineerde Android-ontwikkeling een decennium lang, tot Kotlin serialization en Moshi het overnamen.