Scala中的JsonArray

时间:2016-06-23 11:56:48

标签: arrays json scala playframework

目前这是我能得到的

{
    "friends": [438737,
        12345,
        32153,
        53243
    ]
}

通过创建案例类

来实现
case class FriendsModel(uid: Option[String])
object FriendsModel {
  implicit val paramsWrite = Json.writes[FriendsModel]
  implicit val paramsRead = Json.reads[FriendsModel]
}

基本上将friendsModel添加到名为friendList的List [FriendsModel]

我可以Ok(Json.toJson(friendList))

有没有办法将变量插入"朋友"所以我的Json回归看起来像这样:

{
    "123654": [438737,
        12345,
        32153,
        53243
    ]
}

其中123654是我的用户ID。

1 个答案:

答案 0 :(得分:6)

我会创建一个用于封装数据的案例类:

case class User(uid: String, friends: Seq[FriendsModel])

并为此类型创建一个Json writer:

object User {
  implicit val writer: Writes[User] = Writes { user =>
    Json.obj(
      user.uid -> user.friends
    )
  }
}

这会让你{ "123654": [438737,...] }