2016-09-27 12 views
0

我做了一個HTTPotion並收到類似於此的響應。elixir消化httpotion響應

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

這是什麼類型的數據?我如何訪問第一個review_count?

回答

3

這是JSON data.You可以使用Poison對其進行解碼

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 

或者更短的方式:

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