【发布时间】:2018-11-28 06:46:07
【问题描述】:
我有一个 JSON 数组:
response = [
%{
"created_at" => 1542757526,
"email" => "bcs@yahoo.com",
"first_name" => "rana",
"id" => "YW1pcnBheWFyeUB5YWhvby5jb20=",
"last_clicked" => nil,
"last_emailed" => nil,
"last_name" => "amir",
"last_opened" => nil,
"updated_at" => 1542759123
},
%{
"created_at" => 1542757457,
"email" => "abc@gmail.com",
"first_name" => "rana",
"id" => "cmFtaXIyNDI2QGdtYWlsLmNvbQ==",
"last_clicked" => nil,
"last_emailed" => nil,
"last_name" => "amir",
"last_opened" => nil,
"updated_at" => 1542759001
},
# .......
]
我正在尝试获取response 变量中所有项目的email 字段。示例:
["bcs@yahoo.com", "xyz@gmail.com", ....]
【问题讨论】:
-
您能展示您尝试过的任何代码吗?您的代码的哪一部分有问题?
-
是的,当我累了
Enum.flat_map(response, fn(c) -> c["email"] end)得到这个错误:(Protocol.UndefinedError) protocol Enumerable not implemented for "bcs@yahoo.com". This protocol is implemented for: DBConnection.PrepareStream, DBConnection.Stream, Date.Range, Ecto.Adapters.SQL.Stream, File.Stream, Function, GenEvent.Stream, HashDict, HashSet, IO.Stream, List, Map, MapSet, Postgrex.Stream, Range, Stream, Timex.Interval
标签: json elixir elixir-poison