我想將Base64編碼爲JSON。我碰到了this對話。我注意到snoyberg已經在FP Complete代碼庫中包含了Base64
newtype
,所以我想我會試試看。我的ToJSON Base64實例是否理智? FromJSON實例會是什麼樣子?
進口合格Data.ByteString爲B
進口合格Data.ByteString.Base64如B64
NEWTYPE的Base64 = Base64的{toByteString :: B.ByteString}
導出(式,奧德展,IsString)
的ToJSON
實例似乎很簡單。我會很感激一個理智的檢查。
實例的toJSON的Base64其中 的toJSON(Base64編碼BS)=
的toJSON $ B.unpack $ B64.decodeLenient BS
的FromJSON實例是我遇到的問題。
學習其他示例我推測我必須使用withArray
,它需要(Array -> Parser a)
。這是我卡住的地方。
parseBase64 ::陣列 - >解析器
parseBase64(陣列A)= ...
我在這裏嘗試了很多方法,我很困惑,需要做些什麼在這裏或者即使我在正確的軌道上。如果我能得到一些簡單的反饋信息,比如「你在正確的軌道上繼續前進」,或者被指向不同的方向,那將是值得讚賞的。