Here's my decoder:
decodeData : Json.Decoder (Id, String)
decodeData =
Json.at ["data", "0"]
<| Json.object2 (,)
("id" := Json.int)
("label" := Json.string)
The id
should logically be Int
however my backend sends it as String
(e.g. we get "1"
instead of 1
).
How can I cast the decoded value to Int
?
... and to answer myself :) I found the solution in this Flickr example
decodeData : Json.Decoder (Id, String)
decodeData =
let number =
Json.oneOf [ Json.int, Json.customDecoder Json.string String.toInt ]
in
Json.at ["data", "0"]
<| Json.object2 (,)
("id" := number)
("label" := Json.string)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With