我有一个我从JSON解析的记录:
import Json.Decode exposing (..)
import Json.Decode.Pipeline exposing (..)
type alias Article = {
pubDate: String
}
articleDecoder : Decoder Article
articleDecoder =
decode Article
|> required "pubDate" string
现在,如果我想将Date
用于pubDate
而不是原始字符串,如何更改代码以使Date.fromString
“膨胀”JSON值?
答案 0 :(得分:1)
在Elm词汇表中没有 inflate 这样的术语。
您解码 JSON字符串或JavaScritpt对象。
榆树中没有物品。
因此,您希望将格式化日期的字符串解码为Date类型的数据结构。
截至今天(0.18.0
)Date.fromString来自核心proven to be unreliable.
您应该使用Date.Extra.fromIsoString模块中的justinmimbs/elm-date-extra来获得ISO 8601更可靠的日期解析。
为了清晰起见,我保留了名称空间。
dateDecoder : Decoder Date
dateDecoder =
Json.Decode.string
|> Json.Decode.andThen
(\s ->
case Date.Extra.fromIsoString s of
Err e ->
Json.Decode.fail e
Ok d ->
Json.Decode.succeed d
)
答案 1 :(得分:0)
看起来这样可行:
['', '0000000000000028', '0000000001000028313233340500060007000000', '00000000020000280100000002000000', '0000000003000028310002003300000004000000', '000000000400002801000000320002000100000032000000', '0000000000000030', '0000000001000030313233340500060007000000', '00000000020000300100000002000000', '0000000003000030310002003300000004000000', '000000000400003001000000320002000100000032000000']