thedanotto
thedanotto

Reputation: 7307

elixir digesting a httpotion response

I did a HTTPotion and received a response similar to this.

"{\"total\": 1564, \"businesses\": [{\"review_count\": 139}, {\"review_count\": 154}]}"

What type is this data? How do I get access to the first review_count?

Upvotes: 0

Views: 99

Answers (1)

TheAnh
TheAnh

Reputation: 2813

This is json data.You can use Poison to decode it

iex()> response = "{\"total\": 1564, \"businesses\": [{\"review_count\": 139}, {\"review_count\": 154}]}"
"{\"total\": 1564, \"businesses\": [{\"review_count\": 139}, {\"review_count\": 154}]}"

iex()> response |> Poison.decode! |> Map.get("businesses") |> List.first |> Map.get("review_count")
139

or a shorter way:

iex()> response |> Poison.decode! |> get_in(["businesses", Access.at(0), "review_count"])
139

Upvotes: 3

Related Questions