我做了以下有更好的方法吗?:
File.write("../hello", Poison.encode!(some_stuff))
答案 0 :(得分:13)
您缺少第三个参数,即模式选项。像这样的东西会起作用:
File.write("../hello", Poison.encode!(some_stuff), [:binary])
除了缺少的论点,你所拥有的是一行易于理解的代码。使用encode!
时,如果编码失败,将引发异常。如果要确保成功写入文件而不检查File.write/3
的返回值,则应使用File.write!/3
。使用File.write!/3
更符合Erlang的“让它崩溃”的理念(http://learnyousomeerlang.com/errors-and-exceptions)。虽然这完全取决于这条线的背景......