1
Je suis en train d'utiliser akka-http-spray-json 10.0.9
spray-json. Comment obtenir la liste des objets de JSON
Mon modèle:
case class Person(id: Long, name: String, age: Int)
Je reçois chaîne JSON jsonStr
avec la liste des personnes et essayer de l'analyser:
implicit val personFormat: RootJsonFormat[Person] = jsonFormat3(Person)
val json = jsonStr.parseJson
val persons = json.convertTo[Seq[Person]]
Erreur:
Object expected in field 'id'
Probablement je dois créer implicit object extends RootJsonFormat[List[Person]]
et passer outre read
et write
méthodes.
implicit object personsListFormat extends RootJsonFormat[List[Person]] {
override def write(persons: List[Person]) = ???
override def read(json: JsValue) = {
// Maybe something like
// json.map(_.convertTo[Person])
// But there is no map or similar method :(
}
}
P.S. Désolé pour mon anglais, ce n'est pas mon pays natal.
UPD
jsonStr:
[ {"id":6,"name":"Martin Ordersky","age":50}, {"id":8,"name":"Linus Torwalds","age":43}, {"id":9,"name":"James Gosling","age":45}, {"id":10,"name":"Bjarne Stroustrup","age":59} ]
Je me suis trouvé 'pas le type CustomCollectionFormats' – Oleg
Désolé .. cela vient de notre propre lib .. –
Désolé pour les modifications et les commentaires non pertinents .. mon espace de noms repl scala était plein de gauche overs .. –