Play Framework 2.1.3でAjax POSTリクエストを処理しようとしています。ポストデータはJSONオブジェクトであるなど、ツリー構造を有する:私は巣 "子供たちは、任意の深たいScala Play Frameworkの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]
プレイが私のフォーマットでエラーを投げていること私は書いた:
タイプミスマッチ; found:controllers.Resources.Person required:Array [controllers.Resources.Person]
私はPlayにツリー構造があることを知っています。 JSONの読み込みと結びつける方法の例やドキュメントが見つかりませんでした。
すべてのヘルプは非常に、感謝
ありがとうRobin、私はあなたの答えを組み込もうとしています。コンパイルエラー 'not found:value apply'が表示されます。私は何か基本的なものを欠いていますPersonクラスの「子供」はあなたの答えに「Seq [Person]」する必要がありますか?ありがとう! – Joost
ああ、あなたはそれをコンパニオンオブジェクトで宣言していないと思います。だから、 'Person'に' apply'を変更してください。あなたは 'Array'に変更することができますが、Playが' Array'sを自動的に読むことができるかどうかは分かりません。そのため、 'Person'で使われているコレクション型を' Array'から 'Seq'に変更することを提案しました。ごめんなさい。 –