私はエリクサーには新しく、すみません、これは簡単だと確信しています。エリクシールポイズンデータ型を解析するJsonデータ
私は、このパターンを次のデータ型については何も見つけることができますことは、
%{"quoted_string" => "string_w_quotes"}
は何と呼ばれていますか?
ここに私が抱えている問題があります。私はHTTPoisonとPoisonを使用しています。私はGetリクエストを呼び出してJSONレスポンスを取得し、そのレスポンス全体をPoisonに渡します。それから、私はどんな薬が私に与えるのかをパターンマッチさせます。私はbody.address
と言うことができるポイントに到達しようとしていますが、エラーが発生します。
ここに関連するコードです:
# after call
...
body
|> Poison.decode!
|> case do
{:ok, %HTTPoison.Response{body: body}} ->
IO.puts "response received"
body.address
...
そして、それはこれを出力します。
応答が **(KeyError例外)キーを受け取った...:で見つかっていないアドレス:%{ "アドレス" => "123"、 "公共" => "ABC"} ...
だから私は、私の本当の問題は、私は
0123回すんかだと思います% { "アドレス" => "123"、 "パブリック" => "ABC"}
% {へ:アドレス=> "123"、:公共= > "ABC"}
私は正常にこれを使用することができるように:
body.address
はそのRIGHですt?
|> Poison.decode!(keys: :atoms!)
私は原子としてキーをしたい毒に次のように語った。
文字列をインターネットから原子に変換するのは悪い考えです。原子はガベージコレクションされません。したがって、以下で発見した 'body [" address "]'アプローチを使用してください。しかし、あなたの質問 'Enum.map(params、fn {key、value} - > {String.to_atom(key)、value} end)|> Enum.into(%{})'に答えてください。しかし、しないでください:) –