N3d*_*3da 10 scala playframework-2.0
这可能是一个非常简单的问题,但我找不到干净/可行的解决方案.我只想从我拥有的json对象中删除一个字段.比方说我有:
val body:Option[JsValue] = request.body.asJson
Run Code Online (Sandbox Code Playgroud)
身体看起来像:
{
"url": "www.google.com",
"id": "123",
"count" : 1,
"label" : "test"
}
Run Code Online (Sandbox Code Playgroud)
我想从中删除字段"id".
我已经阅读了http://www.playframework.com/documentation/2.1.1/ScalaJsonTransformers案例#6,但遗憾的是无法完全理解它.(我对Scala和函数式编程很新)
谢谢!
Mic*_*jac 20
这可以作为a来完成JsObject,它扩展了JsValue:
body.as[JsObject] - "id"
Run Code Online (Sandbox Code Playgroud)
小智 5
当我想从 json 对象中删除嵌套字段时,我遇到了这个问题,并且由于减法对于嵌套字段不起作用,所以我添加了我最终使用的解决方案。
要从 JsObject 中删除字段,您可以使用 prune 删除该字段的整个路径。
对于上面的例子 -
val p = JsPath \ "id"
val res = p.prune(body.as[JsObject]).get
Run Code Online (Sandbox Code Playgroud)
如果你有一个像这样的嵌套对象 -
{
"url": "www.google.com",
"id": {"first": "123", "second": "456"}
"count" : 1,
"label" : "test"
}
Run Code Online (Sandbox Code Playgroud)
你可以创建一个更具体的路径 -
val p = JsPath \ "id" \ "second"
val res = p.prune(body.as[JsObject]).get
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6327 次 |
| 最近记录: |