当前位置:  开发笔记 > 后端 > 正文

Elixir中的URL编码列表

如何解决《Elixir中的URL编码列表》经验,为你挑选了1个好方法。

好吧,完全被这个问题困住了,而且文档没有多少.我想编码一个这样的嵌套列表:

URI.encode_query(%{group: %{names: ["first", "second", "third", "fourth"]}})

基本上,该结构是具有名称属性的组,该列表是列表.我收到这个错误:(Protocol.UndefinedError) protocol String.Chars not implemented for %{names: ["first", "second", "third", "fourth"]}

我发现在Elixir中没有类似这样的库.

我意识到文档说你不能使用String.Chars协议的列表,但我不明白你如何创建那个数据结构.

tldr

我希望List作为URL中的字符串.以Ruby为例,我会写

names: ["first", "second", "third", "fourth"]

在Elixir中实现这一目标的想法?

好的,所以没有办法,你必须手动完成.

参考:https://elixirforum.com/t/uri-encode-query-1-and-lists/2492



1> michalmuskal..:

URI模块基于标准 - 没有使用的标准定义如何编码嵌套参数.

然而,有一些约定,其中一个由plug库实现.

iex> query = %{group: %{names: ["first", "second", "third", "fourth"]}}
iex> Plug.Conn.Query.encode(query)
"group[names][]=first&group[names][]=second&group[names][]=third&group[names][]=fourth"

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有