defmodule StyleModule do require Poison defp import_json(_) do file_path = "./lib/tf-tokens.json" data = %{key: "value", list: [1, 2, 3]} data |> Poison.encode!() |> IO.inspect(label: "Encoded data") case File.read(file_path) do {:ok, json_string} -> case Poison.decode(json_string) do {:ok, json_data} -> IO.inspect(json_data) json_data {:error, _} -> IO.inspect("error 1") # Logger.error("Failed to decode JSON data from #{file_path}") # Return empty map or handle error accordingly %{} end {:error, i} -> # Logger.error("111 Failed to read JSON file at #{file_path}") IO.inspect("error 2") IO.inspect(i) # Return empty map or handle error accordingly %{} end end def example_function(name) do IO.inspect(name) new_result = import_json(%{}) IO.inspect(new_result) IO.inspect(name) new_new_result = extract_value(new_result, String.split(name, ".")) IO.inspect(new_new_result) new_new_result end defp extract_value(json_data, [key | []]) do case Map.fetch(json_data, key) do {:ok, value} -> value :error -> {:error, "Value not found for key '#{key}'"} end end defp extract_value(json_data, [key | rest]) do case Map.fetch(json_data, key) do {:ok, nested_map} -> extract_value(nested_map, rest) :error -> {:error, "Value not found for key '#{key}'"} end end end