generated at
Aeson
HaskellでJSONを扱うLibrary








類似
開発者は@fumieval




命名の意味
(A note on naming: in Greek mythology, Aeson was the father of Jason.)
おしゃれかよmrsekut

Interfaceがキレイでいいなーmrsekut

わかりやすい



JSONとデータ型間の相互変換の方法は3種類
自前で変換する関数を定義する
最も柔軟だが、めんどい
その型を、FromJson型クラスToJson型クラスのinstanceにする
Generic型クラスを用いた自動導出
Template Haskellを用いた自動導出

Value
Jsonを表す型
Object | Array | String | Number | Bool | Null のような雰囲気のやつ

parseJSON の定義に .: を使ってApplicative Styleで書く
parseJSON :: Value -> Parser a
.: は、 . を無視すると、jsのdestructuring assignmentのイメージっぽい
いやー、そうでもないかmrsekut
toJSON の定義に .= を使って書く
toJSON :: a -> Value
.= は、 . を無視すればrecordの値を更新するときの = っぽく見えないこともないmrsekut
あとは、 decode , encode 関数で相互に変換できる
確かに↓の例見れば、めちゃくちゃ自明なものをわざわざ自前で書いているのはわかりやすいmrsekut


ほとんど何も書かなくていい


hsのjsonについて