我有一个scala应用程序,其中我使用json4s进行一些json操作。我有几个字段,我想转换成一个新对象。
例如,我有以下内容:
"start_datetime":"2016-12-11T01:00:05+0000",
"type":"absolute",
"start":"5",
"type":"offset"
想进入:
"time":[
{
"type":"absolute",
"start_datetime":"2016-12-11T01:00:05+0000"
},
{
"type":"offset",
"start":"10"
}
]
我可以用json4s做任何方式吗?
答案 0 :(得分:2)
以下代码段使用原生json4s DSL
Json对象由方法~
链接在一起的元组组成,Json数组是通过在Scala中创建Sequence对象创建的。其他基本类型(如String,Number,Boolean)将映射到scala中的相应类型
import org.json4s.native.JsonMethods._
import org.json4s.JsonDSL._
val json = "time" -> Seq(
("type" -> "absolute") ~ ("start_datetime" -> "2016-12-11T01:00:05+0000"),
("type" -> "offset") ~ ("start" -> "10")
)
scala> compact(render(json))
res3: String = {"time":[{"type":"absolute","start_datetime":"2016-12-11T01:00:05+0000"},{"type":"offset","start":"10"}]}