Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 将Base64字符串转换为Elixir中的映射_Json_Elixir - Fatal编程技术网

Json 将Base64字符串转换为Elixir中的映射

Json 将Base64字符串转换为Elixir中的映射,json,elixir,Json,Elixir,我正在使用Elixir对包含JSON的Base64字符串进行解码。 我使用以下功能: Base.url_decode64(字符串) 但是,此函数返回一个字符串。特别是: “{\'algorithm\\':\'HMAC-SHA256\',\'app\'U data\':\'1\',\'issued\'at\':1452249105,\'page\':{\'id\':\'1051194981579510\',\'admin\':true},\'user\':{\'country\':'se\',\'

我正在使用Elixir对包含JSON的Base64字符串进行解码。 我使用以下功能:

Base.url_decode64(字符串)

但是,此函数返回一个字符串。特别是:

“{\'algorithm\\':\'HMAC-SHA256\',\'app\'U data\':\'1\',\'issued\'at\':1452249105,\'page\':{\'id\':\'1051194981579510\',\'admin\':true},\'user\':{\'country\':'se\',\'locale\':'en\'U GB\','age\':{'min 21}”

问题是这个结构应该是一个映射而不是一个字符串,否则我无法访问JSON字段

问题是:如何将此字符串转换为地图?
或者:如何将此字符串视为映射并访问单个字段?

您需要使用JSON库。有几个,一个常用的一个是(还有其他的):

这将使用函数

无论何时使用,我都喜欢将其别名为JSON,这样在我的代码中就不会引用
Poison

alias Poison, as: JSON
string |> Base.url_decode64 |> JSON.decode!

您需要使用JSON库。有几个,一个常用的一个是(还有其他的):

这将使用函数

无论何时使用,我都喜欢将其别名为JSON,这样在我的代码中就不会引用
Poison

alias Poison, as: JSON
string |> Base.url_decode64 |> JSON.decode!

您是否使用alias以便以后可以交换JSON库?@ChrisMeyer是的,这是主要原因。另一个是我不必记住毒药是一个json库。你是否使用别名以便以后可以交换json库?@ChrisMeyer是的,这是主要原因。另一个是,我不必记住毒药是一个json库。如果@Gazler的答案对你来说是正确的解决方案,你应该接受它。如果@Gazler的答案对你来说是正确的解决方案,你应该接受它。