Hello all!
A bit stumped on interpreting how to parse and extract my desired data from an API’s response with HTTPoison and Poison. I think I’m missing something simple.
Let’s say I want all the applicant names from “https://data.sfgov.org/resource/jjew-r69b.json?” .
In IEx-
iex(1)> res = HTTPoison.get! "https://data.sfgov.org/resource/jjew-r69b.json?"
%HTTPoison.Response{
body: "[{\"dayorder\":\"3\",\"dayofweekstr\":\"Wednesday\",\"starttime\":\"1PM\",\"endtime\":\"3PM\",\"permit\":\"19MFF-00079\",\"location\":\"1377 FELL ST\",\"locationdesc\":\"1:05pm-3:00pm\",\"optionaltext\":\"Cold Truck: Pre-packaged sandwiches, snacks, fruit, various beverages\"...
iex(2)> body = Poison.decode! res.body, keys: :atoms
%{
addr_date_create: "2017-07-31T15:11:15.000",
addr_date_modified: "2017-08-01T10:49:12.000",
applicant: "Bonito Poke",
block: "3736",
cnn: "107000",
coldtruck: "N",
dayofweekstr: "Wednesday",
dayorder: "3",...
iex(3)> (hd body).applicant
"Liang Bai Ping"
As you can see from the JSON in the link, this is indeed the head, coming back to me in a string as I want after a bit of manipulation through HTTPoison and Poison. How would I go about calling and returning all of the heads and not just the head or tail?
Enum.map
gives me nil
iex(4)> Enum.map(body, & &1["applicant"])
[nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, ...]
Thanks for any help