我最近開始與Haskell玩,似乎無法找出這一個。Haskell從YAML文件中讀取嵌套的時間戳
我試圖從具有這種格式的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和那種完美的罰款:
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
@bheklilr謝謝你的迴應,是的,你是對的。這個問題的確應該是:「如何訪問嵌套元素?」 – QuickQuestionGuy
您是否使用[* yaml *包](https://hackage.haskell.org/package/yaml-0.8.9/docs/Data-Yaml.html)?如果是這樣,你應該在問題中提到它。 (順便說一下,你可以編輯它來添加說明。) – duplode