2015-09-07 7 views
5

में Int करने के लिए यहाँ मेरी विकोडक है:कैसे स्ट्रिंग से कन्वर्ट करने के लिए Json.Decoder

decodeData : Json.Decoder (Id, String) 
decodeData = 
    Json.at ["data", "0"] 
    <| Json.object2 (,) 
     ("id" := Json.int) 
     ("label" := Json.string) 

id तार्किक Int होना चाहिए लेकिन मेरा बैकएंड भेजता है के रूप में String (जैसे हम 1 के बजाय "1" मिल)।

मैं डीकोडेड मान को Int पर कैसे डाल सकता हूं?

उत्तर

6

... और अपने आप को जवाब देने के लिए :) मैं इस Flickr उदाहरण में समाधान नहीं मिला

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) 
संबंधित मुद्दे