I am trying to construct json string from array. I am able to get json string format using JsonAST as below :
import net.liftweb.json.JsonAST
import net.liftweb.json.JsonDSL._
import net.liftweb.json.Printer._
val map = Map("a" -> "b", "c" -> "d")
val c = compact(JsonAST.render(map))
println(c) //op : {"a":"b","c":"d"}
When i try to do the same thing with array, it is throwing below error : required: net.liftweb.json.JsonAST.JValue
I am looking for serializing an array like val a = Array(1,2,3)
What is the common way of getting json response, which supports all data structures?
I use json4s (which happens to use lift-json under the hood):
import org.json4s.native.Serialization.write
import org.json4s.DefaultFormats
val a = Array(1,2,3,4,5)
implicit val formats = DefaultFormats
println(write(a)) // [1,2,3,4,5]
It can also serialize more complex values:
case class Test(map: Map[String, Int], arr: Array[Int])
val t = Test(Map("one" -> 1, "two" -> 2), Array(1, 2, 3, 4, 5))
println(write(t)) // {"map":{"one":1,"two":2},"arr":[1,2,3,4,5]}