我是一名有帮助的助手,以下是您需要翻译的内容:
我会考虑以下格式:
我正在尝试在Play框架2.1.3中处理Ajax POST请求。POST数据是一个JSON对象,并且具有树形结构,如下:
{ id: "a", name: "myname", kids : [{ id: "a1", name : "kid1", kids: []}, {id: "a2", name: "kid2", kids: [{id: "aa1", name :"grandkid", kids: []}]}]
我希望可以任意嵌套“子元素”。我想要的类应该像这样(我意识到递归可能有问题):
case class Person {
id: String,
name: String,
kids: Array[Person]
}
我会考虑以下格式:
我心中所想的格式:
implicit val personFormat:Format[Person] = Json.format[Person]
我在我的格式中写了错误,Play提示类型不匹配:找到的是controllers.Resources.Person,但需要的是Array[controllers.Resources.Person]。
我知道Play有一个树形结构,但我找不到如何将其与JSON reads绑定的示例/文档。
非常感谢任何帮助。
apply
更改为Person
。你可以将其更改为Array
,但我不确定 Play 是否可以自动读取Array
;这就是我建议将Person
中使用的集合类型从Array
更改为Seq
的原因。如果我的表述不够清晰,很抱歉。 - Robin Green