Elixir:
Trabalhando com JSON
Como fazer:
No Elixir, você pode usar a biblioteca Jason
, uma escolha popular para análise e geração de JSON. Primeiro, adicione Jason
às dependências do seu projeto em mix.exs
:
defp deps do
[
{:jason, "~> 1.3"}
]
end
Depois, execute mix deps.get
para buscar a dependência.
Analisando JSON:
Para converter uma string JSON em estruturas de dados do Elixir:
json_string = "{\"name\":\"John\", \"age\":30}"
{:ok, person} = Jason.decode(json_string)
IO.inspect(person)
# Saída: %{"name" => "John", "age" => 30}
Gerando JSON:
Para converter um map do Elixir em uma string JSON:
person_map = %{"name" => "Jane", "age" => 25}
{:ok, json_string} = Jason.encode(person_map)
IO.puts(json_string)
# Saída: {"age":25,"name":"Jane"}
Trabalhando com Structs:
Para codificar uma struct do Elixir, você deve implementar o protocolo Jason.Encoder
para a sua struct. Aqui está um exemplo:
defmodule Person do
@derive {Jason.Encoder, only: [:name, :age]}
defstruct name: nil, age: nil
end
person_struct = %Person{name: "Mike", age: 28}
{:ok, json_string} = Jason.encode(person_struct)
IO.puts(json_string)
# Saída: {"age":28,"name":"Mike"}
Esta abordagem simples ajudará você a começar a integrar o processamento JSON em suas aplicações Elixir, facilitando a troca de dados em diversos ambientes de programação.