gpt4 book ai didi

elixir - 无法返回编码 :date types in Poison

转载 作者:行者123 更新时间:2023-12-04 14:26:50 24 4
gpt4 key购买 nike

我在 Phoenix 中使用默认的 json 工具,但由于某种原因,我无法返回任何日期(字段类型:日期)。我得到这样的东西:

unable to encode value: {2015, 3, 24}

我正在使用 postgres db 和 date 类型的 db 中的字段。我错过了什么吗?在使用毒药对其进行编码之前,是否需要构建一个函数来解析日期?

最佳答案

您的“日期对象”只是一个 Elixir 元组。 Posion 不知道如何编码 Elixir 元组:

iex(1)> Poison.encode({2015, 3, 24}) 
{:error, {:invalid, {2015, 3, 24}}}

如果您先将日期格式化为字符串,Posion 将可以轻松将其编码为 JSON:
iex(2)> Poison.encode(:io_lib.format("~4..0B-~2..0B-~2..0B", [2015, 3, 24]) |> List.flatten |> to_string)
{:ok, "\"2015-03-24\""}

希望这可以帮助。

关于elixir - 无法返回编码 :date types in Poison,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29270654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com