Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PlayFramework:将json转换为json_Json_Scala_Playframework - Fatal编程技术网

PlayFramework:将json转换为json

PlayFramework:将json转换为json,json,scala,playframework,Json,Scala,Playframework,我有一个类似这样的json { "value.first" : "one", "value.second" : "two", "value.third" : "three" } 在Scala/Play中如何将其转换为这样 { "value": { "first": "one", "second": "two", "third": "three" } } 解决方案取决于必要的灵活性和对错误json格式的处理。也许下面这些对你有用 import

我有一个类似这样的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)
)

您可能希望查看现有的scala框架来处理Json代码