如果你看看Reddit api,你会得到这样的东西:
{"children": [{"data":{"permalink": "a", "url": "b", "etc": "..."}}]
我如何定义代表该特征的Scala特征?
沿着这些方向的东西可能......?
trait RedditSubreddit extends js.Object {
val children: Array[trait {val permalink: String; val url: String;}]
}
答案 0 :(得分:3)
我会这样做。
trait RedditPost extends js.Object {
val permalink: String
val url: String
}
trait RedditSubreddit extends js.Object {
val children: js.Array[RedditPost]
}
虽然Reddit允许任意嵌套子帖子,但API可能更符合这一点:
trait RedditPost extends js.Object {
val permalink: String
val url: String
val children: js.Array[RedditPost]
}
或者您可能想要添加UndefOr
,以防该字段未设置:
trait RedditPost extends js.Object {
val permalink: String
val url: String
val children: js.UndefOr[js.Array[RedditPost]]
}