簡體   English   中英

在Elixir中將Base64字符串轉換為映射

[英]Convert a Base64 string into a map in Elixir

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

Base.url_decode64(字符串)

但是,此函數返回一個字符串。 尤其是:

“ {\\” algorithm \\“:\\” HMAC-SHA256 \\“,\\” app_data \\“:\\” 1 \\“,\\” issued_at \\“:1452249105,\\” page \\“:{\\” id \\“:\\ “ 1051194981579510 \\”,\\“ admin \\”:true},\\“ user \\”:{\\“ country \\”:\\“ se \\”,\\“ locale \\”:\\“ en_GB \\”,\\“ age \\” :{\\“ min \\”:21}}}“

問題在於此結構應該是映射而不是字符串,因為否則我將無法訪問JSON字段。

問題是:如何將這個字符串轉換成地圖? 或者:如何將這個字符串視為地圖並訪問單個字段?

您需要使用JSON庫。 有幾種,一種是常用的一種是Poison (在hex上還有其他一種):

string |> Base.url_decode64 |> Poison.decode!

這將使用Poison.decode!/ 2函數。

每當使用時,我都希望將其別名為JSON,這樣我的代碼中就不會引用Poison了:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM