haskell (艾逊):过滤特定元素问题的惯用方法

jaxagkaj  于 2022-11-14  发布在  其他
关注(0)|答案(1)|浏览(128)

我有一个Jsonl文件,看起来像这样:

{"mood": "Good", "when": "2022-10-09 Sun 11:51"}

我用Aeson和Relude作为替代的前奏,我我试着把when字段,解析成一个UTCTime,作为一个更大的数据结构的一部分,但是因为UTCTime是由日期-时间组成的,而不是日期,天,时间。
我想我的解析器就是因为这个问题而失败的,所以我试着找出如何用一种惯用的方式过滤掉它,这样我就可以把它解析成UTCTime,或者至少缩小问题的范围。
我不知道是否有一种惯用的方法,即获取byteString并将其转换为其他内容(例如文本),这样我就可以对其使用filter,然后返回到byteString,以便将其输入到fromJSON函数中。
或者有没有更好的方法,比如说用透镜 Package 里的东西,我隐约知道,我没有认真看过。
所以在这里问什么是习惯的方式来摆脱“太阳”?任何建议,谢谢。

gr8qqesn

gr8qqesn1#

您可以简单地使用time中的parseTimeM来解析它:

ghci> parseTimeM False defaultTimeLocale "%Y-%m-%d %a %H:%M" "2022-10-09 Sun 11:51" :: Maybe UTCTime
Just 2022-10-09 11:51:00 UTC

大多数格式都记录在formatTime中

相关问题