PlayFramework:将 json 转换为 json
PlayFramework: transform json to json
我有一个这样的json
{
"value.first" : "one",
"value.second" : "two",
"value.third" : "three"
}
如何在 Scala/Play 中将其转换成这样? :
{
"value": {
"first": "one",
"second": "two",
"third": "three"
}
}
解决方案取决于必要的灵活性和对错误 json 格式的处理。也许以下内容适合您。
import play.api.libs.json._
val jsonInitial = Json.obj(
"value.first" -> "one",
"value.second" -> "two",
"value.third" -> "three"
)
val primary: String = jsonInitial.keys.headOption
.map{ _.split('.')(0) }
.getOrElse("empty")
val secondary: Seq[(String, JsValue)] = jsonInitial.fields
.map{ case (k, v) => (k.split('.')(1), v) }
val jsonModified = Json.obj(
primary -> JsObject(secondary)
)
我有一个这样的json
{
"value.first" : "one",
"value.second" : "two",
"value.third" : "three"
}
如何在 Scala/Play 中将其转换成这样? :
{
"value": {
"first": "one",
"second": "two",
"third": "three"
}
}
解决方案取决于必要的灵活性和对错误 json 格式的处理。也许以下内容适合您。
import play.api.libs.json._
val jsonInitial = Json.obj(
"value.first" -> "one",
"value.second" -> "two",
"value.third" -> "three"
)
val primary: String = jsonInitial.keys.headOption
.map{ _.split('.')(0) }
.getOrElse("empty")
val secondary: Seq[(String, JsValue)] = jsonInitial.fields
.map{ case (k, v) => (k.split('.')(1), v) }
val jsonModified = Json.obj(
primary -> JsObject(secondary)
)