「Lens/Aeson Traversals/Prisms」というすばらしい記事を読んで、実際のアプリケーションを作成してください。次の匿名化された JSON 構造が与えられた場合、特定の値ではなくコレクションを抽出するにはどうすればよいでしょうか?
{"Locations" : [ {"id" : "2o8434", "averageReview": ["5", "1"]},{"id" : "2o8435", "averageReview": ["4", "1"]},{"id" : "2o8436", "averageReview": ["3", "1"]},{"id" : "2o8437", "averageReview": ["2", "1"]},{"id" : "2o8438", "averageReview": ["1", "1"]}]}
私は持っている:
λ> locations ^? key "Locations" . nth 0 . key "averageReview" . nth 0
Just (String "5")
私が欲しいもの:
λ> locations ^? key "Locations" . * . key "averageReview" . nth 0
["5", "4", "3", "2", "1"]
プリズムの点全体が欠けていますか? それとも、これは正当な使用例ですか?
乾杯!