How to Convert JSON String to a JSON Object in Scala?
When working with JSON data in Scala, we may often need to convert a JSON string into a JSON object. This can be useful for parsing and manipulating JSON data effectively. This article focuses on discussing ways to convert JSON string to a JSON object.
Table of Content
Using the Built-in Parse Method
This approach leverages the parse()
the method provided by the JSON
library in Scala.
Syntax:
val jsonObject = Json.parse(jsonString)
The parse method parses the JSON string and returns a JSON object.
Below is the Scala program to convert a JSON string to a JSON object using the built-in parse method:
import play.api.libs.json.Json;
val jsonString = "{\"name\": \"John\", \"age\": 30}";
val jsonObject = Json.parse(jsonString);
println(jsonObject)
Output:

Using the Read Method
This approach utilizes the read
method from the Json
library to read the JSON string and convert it into a JSON object.
Syntax:
val jsonObject = Json.parse(jsonString).as[JsValue]
The as
method with [JsValue]
type conversion is used to convert the parsed JSON string into a JSON object.
Below is the Scala program to convert a JSON string to JSON object using the read method:
import play.api.libs.json.{Json, JsValue}
val jsonString = "{\"name\": \"John\", \"age\": 30}"
val jsonObject = Json.parse(jsonString).as[JsValue]
println(jsonObject)
Output:

Using the Jackson Library
This approach involves using the Jackson library for JSON processing in Scala. The readTree
method from the ObjectMapper
class is used to parse the JSON string and create a JSON object.
Below is the Scala program to convert a JSON string to JSON object using the jackson library method:
import com.fasterxml.jackson.databind.ObjectMapper
val jsonString = "{\"name\": \"John\", \"age\": 30}"
val mapper = new ObjectMapper()
val jsonObject = mapper.readTree(jsonString)
println(jsonObject)
Output:

Using the Circe Library
This approach utilizes the Circe library, which is a JSON library for Scala.
Syntax:
parse(jsonString)
Return Type:
JSON
The parse
function from the Circe library is used to parse the JSON string and convert it into a JSON object.
Dependency:
Add the following to your sbt configuration
val circeVersion = "0.14.3" libraryDependencies ++= Seq( "io.circe" %% "circe-core", "io.circe" %% "circe-generic", "io.circe" %% "circe-parser" ).map(_ % circeVersion)
Below is the Scala program to convert a JSON string to JSON object using the circle library:
import io.circe.parser._
val jsonString = "{\"name\": \"John\", \"age\": 30}"
val jsonObject = parse(jsonString)
println(jsonObject)
Output:

Conclusion
Converting JSON strings to JSON objects in Scala is a common task when dealing with JSON data. By using the methods provided by libraries like Json, Jackson, and Circe, developers can efficiently parse JSON strings and work with JSON objects in their Scala applications.