JSON in Scala – an exercise in pattern matching
There are several libraries for manipulating JSON in Scala. We prefer json4s, but if you are a die-hard fan of another JSON library, you should be able to readily adapt the examples in this chapter. Let's create a build.sbt
file with a dependency on json4s
:
// build.sbt scalaVersion := "2.11.7" libraryDependencies += "org.json4s" %% "json4s-native" % "3.2.11"
We can then import json4s
into an SBT console session with:
scala> import org.json4s._ import org.json4s._ scala> import org.json4s.native.JsonMethods._ import org.json4s.native.JsonMethods._
Let's use json4s
to parse the response to our GitHub API query:
scala> val jsonResponse = parse(response) jsonResponse: org.json4s.JValue = JObject(List((login,JString(odersky)),(id,JInt(795990)),...
The parse
method takes a string (that contains well-formatted JSON) and converts it to a JValue
, a supertype for all json4s
objects. The runtime type of the response to this particular query...