J'ai un gros morceau de JSON, dont je me soucie seulement un petit sous-ensemble par exemple:Lecture ScalaJSON Reads erreur d'incompatibilité de type d'analyse syntaxique [T]
{
"request": {
"c": {
"code": "AA",
"fsCode": "AA"
},
"codeType": {},
"number": {
"requested": "100",
},
"scheduled": [
{
"code": "BB",
"number": "100",
"classes": [
"F",
"Y"
]
}]
}
Je veux juste extraire les variables code
et number
. Je l'ai essayé d'utiliser Reads
comme suit:
case class TheResult(result: (String, String))
implicit val theScheduledReads: Reads[TheResult] = (
(__ \ "code").read[String] and
(__ \ "number").read[String] tupled) map TheScheduledFlight.apply _
case class ResultList(addr: List[TheResult])
implicit val resultReads: Reads[ResultList] =
(__ \ "scheduled").read(List[TheResult](theScheduledReads)) map ResultList _
et ceci pour accéder au résultat:
response.json.validate[List[ResultList]]
Cependant, il jette cette erreur:
type mismatch; found : play.api.libs.json.Reads[details.client.TheResult] required: details.client. TheResult (__ \ "address").read(List[TheResult](resultReads)) map (TheResult.apply _)
Toutes les idées ce que je fais mal?