拥有它:
[%{"id" => "1", "name" => "foo"},
%{"id" => "2","name" => "bar"}]
如何将其转换为如下所示的内容:
[%"foo" => %{"id" => "1","name" => "foo"},
%"bar" => {"id" => "2","name" => "bar"}]
假设你想要一个带有String
键的Map
,你可以将for
与into:
一起使用,如下所示:
iex(1)> entries = [%{"id" => "1", "name" => "foo"}, %{"id" => "2","name" => "bar"}]
[%{"id" => "1", "name" => "foo"}, %{"id" => "2", "name" => "bar"}]
iex(2)> for %{"name" => name} = entry <- entries, into: %{}, do: {name, entry}
%{"bar" => %{"id" => "2", "name" => "bar"},
"foo" => %{"id" => "1", "name" => "foo"}}