在键和值中转义 JSON 的双引号?

Escaping JSON's Double-Quotes in Keys and Values?

在Java/Scala中是否有等效的JSON.stringify

我想这样使用这个功能:

JSON.stringify( JSON.stringify( { "a" : "have a nice day, \" sir!" } ) )
""{\"a\":\"have a nice day, \\" sir!\"}""

使用spray-json:

scala> import spray.json._
import spray.json._

scala> def stringifyTwice(json: JsValue): String = 
     |   JsString(json.compactPrint).compactPrint
stringify: (json: spray.json.JsValue)String

scala> val obj: JsValue = JsObject("foo" -> JsString("bar"), "bippy" -> JsString("bap \" biz"))
obj: spray.json.JsValue = {"foo":"bar","bippy":"bap \" biz"}

scala> stringifyTwice(obj)
res0: String = "{\"foo\":\"bar\",\"bippy\":\"bap \\" biz\"}"