问题标签 [elixir-poison]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - 将 json 对象数组的字符串表示形式转换为映射 Elixir
在这里,我的控制器操作端点有一个有效负载:
我正在尝试解码 的内容mandrill_events
,以便我可以访问一些值,但我认为括号将其丢弃。
但这也没有用。
database-design - 需要一个向电话号码发送消息的长生不老药功能
我一般是编程新手,目前正在学习 Elixir。
如何编写向电话号码发送消息的函数?我很想看看语法。我正在使用凤凰框架。
我看到了这个,但这并不是我想要的:
json - json在elixir中序列化时的浮点格式
Elixir 默认使用科学记数法表示大于 1000 的浮点数。这会在 json 序列化过程中产生不希望的副作用。
我想要的输出是
我已经看到使用or的这个答案,但这需要在编码之前修补或手动检查所有数据。:erlang.float_to_binary(0.005 * 2.7 / 100, [:compact, {:decimals, 10}])
:io.format("~f~n",[0.005 * 2.7 / 100])
Poison
有没有一种更简洁的方法可以强制在 elixir 中将默认浮点数转换为二进制格式?
json - Poison 似乎会自动将 JSON 对象数组转换为地图。我能做些什么来防止这种情况发生?
在我的应用程序中,我在 API 端点之一接受 JSON 对象:
在这个 JSON 对象中,有一个对象数组,例如,结构可能是这样的:
在我的控制器中,当我尝试使用 访问对象数组时params["b"]
,我惊讶地发现我得到了一个映射,索引是数组的原始索引,但是是字符串形式!
这意味着我几乎不可能恢复 的原始顺序b
,因为不能保证在 Elixir 中保留地图遍历的顺序。
我唯一能做的似乎是将字符串索引转换回其原始整数形式,然后将映射转换为列表,然后对列表进行排序,这很麻烦,没有明显的原因。
但是,当我有一个简单的 JSON 数组时,例如
然后params["b"]
在我的控制器中确实给了我一个 Elixir 列表,它的顺序保留了,这正是我想要的。
为什么会这样?我能做些什么来保留该数组中对象的原始顺序吗?
json - 毒药:无法编码值
我无法对从 Ecto 查询结果毒药编码方法获得的值进行编码
控制器代码:
模板代码:
错误信息:
heroku - Elixir POST 文件到 Heroku 文件附件扫描仪插件
当用户上传时,我正在尝试使用 Heroku Add-on Attachment Scanner扫描上传的文档中的病毒。
我正在尝试使用 Poison.encode 直接对文件进行编码,但它会引发错误,所以我不确定这是正确的方法。任何帮助表示赞赏,下面是我尝试的 HTTPoison 发布请求,以及来自 Poison.encode! 的错误。
Poison.encode(file) 错误:
附言。我需要直接发送文件,并且无法公开托管图像,因此文档中的 node.js 示例将不起作用。
elixir - 重复的模块:毒药“混合释放”中指定的“Elixir.Poison.Encoder.Map”
我正在使用 Poison 对 Json 进行编码和解码的伞式应用程序。为了编码我的ecto模型,我编写了以下实现:
结尾
我的想法是,一旦我运行mix release
程序就会引发错误,除非我注释掉上面显示的代码。
那么,还有另一种方法可以在不使用实现的情况下实现相同的功能吗?
elixir - 未找到 elixir 项目的十六进制依赖项 - 毒药、苦艾酒
我收到unchecked dependency for environment
错误ecto.create
和ecto.migrate
。我有以下mix.exs
文件依赖项
当我运行命令时,mix ecto.create && mix ecto.migrate
出现以下错误。
我是十六进制,长生不老药和混合物的新手。
docker - Dockerized Phoenix/Elixir App 拒绝所有 HTTP/socket 请求
我正在尝试按照本教程来让我的(在 localhost 上运行)elixir/phoenix 应用程序在 docker 容器中运行,但我遇到了困难。
https://pspdfkit.com/blog/2018/how-to-run-your-phoenix-application-with-docker/
这是我的错误:
我不确定发生了什么。
我的房间大厅只是一个套接字通道,将 room_channel.ex 定义为:
当我在没有 docker 文件的情况下运行它时,它运行良好 - 我添加的内容如下:
我还更改了 dev.exs 文件中的配置,如下所示:
有趣的是,所有这些错误似乎都是在我的前端启动时产生的,但没有发出请求(除了连接到套接字)。如果我尝试发出 http 请求,我会得到:
所以你可以看到它看到了请求,并且似乎在操纵它。就是不能退货。我的 Docker 和 docker-compose 文件中都暴露了我的端口,我真的看不出还有什么问题,因为当我在 docker 容器之外运行这个应用程序时,它可以工作。
出了什么问题?
json - 在 iex 中运行 elixir 毒药命令
我是新手elixir
,想测试以下Poison
功能iex
https://hexdocs.pm/poison/1.3.1/#functions_details
当我运行此命令时,我收到以下错误。
我在这里做错了什么?