My Scala JSON usage (2021)

By William "Scala William" Narmontas

Published 18 February 2017, updated 21 March 2021.

How do I choose a JSON library in Scala?; updated for 2021.

When I wrote this article originally in 2017, I mentioned multiple libraries like play-json, circe, rapture-json, jackson and json4s. One of the points I made was that "In the long run, in my opinion, circe will come out on top because of the heavy community backing". That time has come and it is simply from professional observation: most non-Play projects I come across are using circe by default.

Today, if you were to ask me which Scala JSON library you should use, the answer would be simple: if you use Play, use play-json; otherwise, use circe. I therefore am rewriting this article to demonstrate how and why I love to use circe these days.