Sto tentando di elaborare una richiesta POST Ajax in Play Framework 2.1.3. I dati post è un oggetto JSON e ha una struttura ad albero simile:Leggere la struttura dell'albero JSON in Scala Play Framework
{ id: "a", name: "myname", kids : [{ id: "a1", name : "kid1", kids: []}, {id: "a2", name: "kid2", kids: [{id: "aa1", name :"grandkid", kids: []}]}]
vorrei nido dei 'bambini' arbitrariamente profondo. La classe avrei in mente è come questo (mi rendo conto della ricorsività può essere problematico):
case class Person {
id: String,
name: String,
kids: Array[Person]
}
Il formato avrei in mente:
implicit val personFormat:Format[Person] = Json.format[Person]
gioco sta gettando errori sul mio formato Ho scritto:
disallineamento di tipo; trovato: controller.Resources.Person richiesto: Array [controllers.Resources.Person]
Sono consapevole che Play ha una struttura ad albero. Non sono riuscito a trovare esempi/documentazione su come legarlo alle letture JSON.
Qualsiasi aiuto è molto apprezzato, grazie
Grazie Robin, sto cercando di incorporare la tua risposta e ottengo un errore di compilazione 'non trovato: valore applicato'. Mi manca qualcosa di base? E i "bambini" nella classe Persona devono essere "Seq [Person]" per la tua risposta? Grazie! – Joost
Oh, suppongo che tu non lo dichiari nell'oggetto compagno allora. Quindi cambia 'applica' a' Persona'. Puoi cambiarlo in 'Array' ma non sono sicuro che Play possa leggere automaticamente' Array's; è per questo che ho suggerito di cambiare il tipo di collezione usato in 'Person' da' Array' a 'Seq'. Scusa se non era chiaro. –