繁体   English   中英

使用json4s用新对象替换JSON中的字段

[英]Replacing Fields in JSON with New Object using json4s

我有一个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做到这一点吗?

以下代码段使用本机json4s DSL

Json对象是由通过方法~链接在一起的元组形成的,而Json Array是通过在Scala中创建Sequence对象来创建的。 其他基本类型(例如字符串,数字,布尔值)被映射到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"}]}

暂无
暂无

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

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