简体   繁体   English

使用Scala以这种格式生成json

[英]Generating json in this format using Scala

I have this String : 我有这个String:

"[[{\"cfunction\":\"sum\"},{\"cfunction\":\"groupBy\"}],[{\"cfunction\":\"Add Here\"}]]";

Which is generated by : 产生于:

val json2 = List(List(("cfunction" -> "sum"), ("cfunction" -> "groupBy")), List(("cfunction" -> "Add Here")))
println(compact(render(json2)))

How to generate : "[[{\\"cfunction\\":\\"sum\\" , \\"1\\":\\"1\\"},{\\"cfunction\\":\\"groupBy\\" , \\"2\\":\\"2\\"}],[{\\"cfunction\\":\\"Add Here\\"}]]"; 如何生成:“ [[{{\\ cfunction \\”:\\“ sum \\”,\\“ 1 \\”:\\“ 1 \\”},{\\“ cfunction \\”:\\“ groupBy \\”,\\“ 2 \\ “:\\” 2 \\“}],[{\\” cfunction \\“:\\”添加到此处\\“}]]”“; ?

I've tried : 我试过了 :

  val json2 = List(List(("cfunction" -> "sum" , "1" -> "1"), ("cfunction" -> "groupBy", "2" -> "2")), List(("cfunction" -> "Add Here")))

But this causes compiler error : 但这会导致编译器错误:

type mismatch; found : List[List[(java.io.Serializable, java.io.Serializable)]] required: org.json4s.JValue (which expands to) org.json4s.JsonAST.JValue

Use Map? 使用地图?

scala> import org.json4s._
import org.json4s._

scala> import org.json4s.native.JsonMethods._
import org.json4s.native.JsonMethods._

scala> import org.json4s.JsonDSL._
import org.json4s.JsonDSL._

scala> val json2 = List(List(Map("cfunction" -> "sum" , "1" -> "1"), Map("cfunction" -> "groupBy", "2" -> "2")), List(Map("cfunction" -> "Add Here")))
json2: List[List[scala.collection.immutable.Map[String,String]]] = List(List(Map(cfunction -> sum, 1 -> 1), Map(cfunction -> groupBy, 2 -> 2)), List(Map(cfunction -> Add Here)))

scala> println(compact(render(json2)))
[[{"cfunction":"sum","1":"1"},{"cfunction":"groupBy","2":"2"}],[{"cfunction":"Add Here"}]]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM