在Scala中使用circe在一行中打印json字符串

Ave*_*ger 4 scala circe

我想在一行中将 json 打印为字符串。


    case class Data(e: Option[String])

    object Data {
      implicit val dEncoder = deriveDecoder[Data]
      implicit val dDecoder = deriveEncoder[Data]
    }

    case class Random(a: String,b: String, c: Int,d: Data)

    object Random {
      implicit val rEncoder = deriveDecoder[Random]
      implicit val rDecoder = deriveEncoder[Random]
    }

Run Code Online (Sandbox Code Playgroud)

val res = Random("a","b", 1, Data("e"))

当我做res.asJson.toString 时,我得到: { "a": "a", "b": "b", "c":1, "d": { "e": "e" } }

但我希望它在没有 \n 的情况下打印在一行中,就像使用 circe 一样。

**{"a": "a","b": "b", "c": 1,d:{"e": "e"}}**

Mat*_*zok 7

如果您不介意去除其他不必要的空白字符:

@ res.asJson.noSpaces
res9: String = "{\"a\":\"a\",\"b\":\"b\",\"c\":1,\"d\":{\"e\":\"e\"}}"

@ println(res.asJson.noSpaces)
{"a":"a","b":"b","c":1,"d":{"e":"e"}}
Run Code Online (Sandbox Code Playgroud)