如何从 Scala ArrayBuffer 创建 json 字符串
How to create json string from scala ArrayBuffer
我已经从 for 循环内部创建了一个 ArrayBuffer。
现在我想用同一个 ArrayBuffer
创建 json 字符串
下面是我用来创建数组缓冲区的代码
val res=new ArrayBuffer[ArrayBuffer[_>:Any]]
`df =
+---+---+
| _1| _2|
+---+---+
| 1| 5|
| 2| 57|
+---+---+
df.collect.foreach(x=> {
res += ArrayBuffer(x(0), x(1))
})
需要低于 json 来自 ArrayBuffer 的动态字符串而不低于硬编码数组值
val str = "head"
val cur = """{"%s":{"%s":"%s","%s":"%s"}}""".format(str,res(0)(0),res(0)(1),res(1)(0),res(1)(1))
预期输出应低于基于 ArrayBuffer 大小的动态输出。列将为 2,但行数可以增加或减少。
Array Buffer is like this --> ArrayBuffer(ArrayBuffer(1, 5), ArrayBuffer(2, 57))
预计Json
{"head":{"1":"5","2":"57"}}
我建议您使用 Json 序列化程序。对我来说最简单的是 play-json.
您可以像这样将它添加到您的 sbt 中:
libraryDependencies += "com.typesafe.play" %% "play-json" % "2.9.2"
https://mvnrepository.com/artifact/com.typesafe.play/play-json
那么就很简单了
// convert to a list of tuple
val body: ArrayBuffer[(String, JsValue)] = res.map(e => (e.head.toString, Json.toJson(e(1))))
print(Json.toJson(Json.obj({"head" -> JsObject(list)})))
这里有更多例子:https://www.playframework.com/documentation/2.8.x/ScalaJson
我已经从 for 循环内部创建了一个 ArrayBuffer。 现在我想用同一个 ArrayBuffer
创建 json 字符串下面是我用来创建数组缓冲区的代码
val res=new ArrayBuffer[ArrayBuffer[_>:Any]]
`df =
+---+---+
| _1| _2|
+---+---+
| 1| 5|
| 2| 57|
+---+---+
df.collect.foreach(x=> {
res += ArrayBuffer(x(0), x(1))
})
需要低于 json 来自 ArrayBuffer 的动态字符串而不低于硬编码数组值
val str = "head"
val cur = """{"%s":{"%s":"%s","%s":"%s"}}""".format(str,res(0)(0),res(0)(1),res(1)(0),res(1)(1))
预期输出应低于基于 ArrayBuffer 大小的动态输出。列将为 2,但行数可以增加或减少。
Array Buffer is like this --> ArrayBuffer(ArrayBuffer(1, 5), ArrayBuffer(2, 57))
预计Json
{"head":{"1":"5","2":"57"}}
我建议您使用 Json 序列化程序。对我来说最简单的是 play-json.
您可以像这样将它添加到您的 sbt 中:
libraryDependencies += "com.typesafe.play" %% "play-json" % "2.9.2"
https://mvnrepository.com/artifact/com.typesafe.play/play-json
那么就很简单了
// convert to a list of tuple
val body: ArrayBuffer[(String, JsValue)] = res.map(e => (e.head.toString, Json.toJson(e(1))))
print(Json.toJson(Json.obj({"head" -> JsObject(list)})))
这里有更多例子:https://www.playframework.com/documentation/2.8.x/ScalaJson