【发布时间】:2017-03-02 15:33:09
【问题描述】:
我最近开始玩 Haskell,但似乎无法弄清楚这一点。
我正在尝试读取具有这种格式的 YAML 文件:
id: 1
kind: good
created_at: !ruby/object:ActiveSupport::TimeWithZone
utc: &1 2017-01-01 10:34:12.533704000 Z
zone: &2 !ruby/object:ActiveSupport::TimeZone
time: *2
到目前为止,我可以通过这样做很好地读取 id 和 kind:
data Item= Item{
id :: Integer,
kind::String
}
和
instance FromJSON Item where
parseJSON(Object v) = Item <$>
v .: "id" <*>
v .: "kind"
我正在使用“Data.Yaml”包和这个函数:let items = Data.Yaml.decode ymlData :: Maybe[Item]
但我似乎无法弄清楚如何获取时间戳。
获取时间戳的正确方法是什么,只需要“utc”。
【问题讨论】:
-
我看到的第一个问题是你必须大写你的类型和构造函数,所以
data Item = Item ...和instance FromJSON Item where ...。我认为您的问题实际上是关于如何访问嵌套元素,这是您真正想问的吗?这个问题似乎并不是真正关于获取时间戳,而是关于如何在 YAML 中使用嵌套结构。 -
@bheklilr 感谢您的回复,是的,您是对的。问题确实应该是:“如何访问嵌套元素?”
-
你在使用the yaml package吗?如果是这样,您应该在问题中提及它。 (对了,你可以edit添加说明。)
-
@duplode 是的,我正在使用 yaml 包。我已将此添加到问题中。
-
@QuickQuestionGuy 欢迎来到Stack Overflow,我们有编辑历史记录。当您更改某些内容时,无需通过在帖子本身中包含“编辑”来降低您的帖子对未来用户的可读性。