【发布时间】:2016-03-08 22:38:38
【问题描述】:
我想用 Play 库解析一些“复杂”的 JSON。
import play.api.libs.json._
假设我从服务器获得了一个包含许多 JSON 对象的数组,我无法修改该数组。每个条目看起来都类似于这个:
{
"id": 1,
"urn": "urn:article:5",
"key": "post",
"foo": "useless"
}
最后我想将此结构映射到具有以下值的 Scala 对象:
- id: Int = 1
- urn: String = "urn:user:5"
- type: String = "article_post" // 逻辑:urn.split(":")(1) + "_" + key
什么是最有效的方法?将 JSON 框架内的结构映射到我的需要,还是应该尽快使用中间案例类将它们映射到我的自定义结构中?
我查看了official documentation,但他们似乎没有讨论这个问题。
目前我将创建一个中间案例类,它只是从 JSON 中提取相关属性(id、urn、key),并在后续步骤中将这些对象映射到我想要的自定义结构。我不知何故觉得这不是要走的路。
【问题讨论】:
-
据我了解,您需要Json transformers 进行验证。使用变压器,您不需要持有人课程。
标签: json scala playframework playframework-2.0