J'ai une structure simple dont j'ai besoin pour pouvoir décoder, mais j'ai des problèmes.Elm Simple JSON List Décodage
Ma réponse API ressemble à ceci:
[{"userId":70, "otherField":1, ...},
{"userId":70, "otherField":1, ...},
{"userId":71, "otherField":1, ...}]
Je suis en train de le décoder comme suit:
type alias SessionResponse =
{ sessions : List Session
}
type alias Session =
{ userId : Int
}
decodeSessionResponse : Decoder (List Session)
decodeSessionResponse =
decode Session
|> list decodeSession -- Gives an Error
decodeSession : Decoder Session
decodeSession =
decode Session
|> required "userId" int
Le message d'erreur que je vois est:
The right side of (|>) is causing a type mismatch.
(|>) is expecting the right side to be a:
Decoder (Int -> Session) -> Decoder (List Session)
But the right side is:
Decoder (List Session)
It looks like a function needs 1 more argument.
Comment réparer cette erreur?
Merci, je préférerais utiliser la deuxième approche, mais étant donné que la liste n'est pas étiqueté dans la réponse JSON je ne peux pas le faire fonctionner. – James
J'ai mis à jour la réponse pour la comparer aux entrées que vous avez fournies –