Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Scala: Parse JSON directly into a case class

Given a string of JSON, and a case class that corresponds to it, what's a simple way to parse the JSON into the case class? There are many libraries available, but it seems that Scala might now do this out of the box.

What about if the JSON should be parsed into a list of the case class?

UPDATE:

Jerkson seems to be abandoned, and I don't want to install the full Play or Lift framework or anything else heavy.

like image 463
SRobertJames Avatar asked May 08 '14 01:05

SRobertJames


1 Answers

There are several frameworks which can exactly do that.

circe

Used a lot nowdays. Many great features. Will pull cats in.

https://circe.github.io/circe/ https://github.com/circe/circe

JSON4s

JSON4s is quite mature and supports jackson or a native JSON-Parser. Used it in many projects to replace jerkson.

https://github.com/json4s/json4s

play-json

Can be used without the full play stack. Great support as part of the play project at typesafe.

http://www.playframework.com/documentation/2.0/ScalaJson

Scala-Pickling

A serialization Framework. There is an option to serialize/ and deserialize to JSON.

https://github.com/scala/pickling

Spray JSON

Can searialize and deserialize. Need to know number of arguments for deserialization tough.

https://github.com/spray/spray-json

like image 116
Andreas Neumann Avatar answered Sep 25 '22 22:09

Andreas Neumann