Elixir:
Lavorare con JSON
Come fare:
In Elixir, puoi utilizzare la libreria Jason
, una scelta popolare per l’analisi e la generazione di JSON. Prima, aggiungi Jason
alle dipendenze del tuo progetto in mix.exs
:
defp deps do
[
{:jason, "~> 1.3"}
]
end
Poi, esegui mix deps.get
per recuperare la dipendenza.
Analizzare il JSON:
Per convertire una stringa JSON in strutture dati Elixir:
json_string = "{\"name\":\"John\", \"age\":30}"
{:ok, person} = Jason.decode(json_string)
IO.inspect(person)
# Output: %{"name" => "John", "age" => 30}
Generare JSON:
Per convertire una mappa Elixir in una stringa JSON:
person_map = %{"name" => "Jane", "age" => 25}
{:ok, json_string} = Jason.encode(person_map)
IO.puts(json_string)
# Output: {"age":25,"name":"Jane"}
Lavorare con Structs:
Per codificare una struct Elixir, devi implementare il protocollo Jason.Encoder
per la tua struct. Ecco un esempio:
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)
# Output: {"age":28,"name":"Mike"}
Questo approccio semplice ti aiuterà a iniziare a integrare l’elaborazione di JSON nelle tue applicazioni Elixir, facilitando lo scambio di dati in vari ambienti di programmazione.