目前,我正在使用类似这样的东西将 JSON 内容(my_json
)写入文件(my_output_filepath
):
import Data.Aeson.Encode.Pretty
import qualified Data.ByteString.Lazy.UTF8 as U
writeFile my_output_filepath $ U.toString $ encodePretty my_json
这可行,但我想知道是否有必要将ByteString
( encodePretty
) 返回的 a 转换为 aString
在将其写入文件之前,或者它是否会导致性能损失。
我看到有一个变体接受writeFile
aByteString
作为输入。但是,当我尝试使用它时,我收到此错误:
Couldn't match expected type ‘B.ByteString’
with actual type ‘U.ByteString’
NB: ‘B.ByteString’ is defined in ‘Data.ByteString.Internal’
‘U.ByteString’ is defined in ‘Data.ByteString.Lazy.Internal’
有没有办法让 的Lazy
变体ByteString
与之互操作writeFile
?