Elixir:
Praca z JSON
Jak to zrobić:
W Elixirze możesz użyć biblioteki Jason
, popularnego wyboru do parsowania i generowania JSON. Najpierw dodaj Jason
do zależności Twojego projektu w mix.exs
:
defp deps do
[
{:jason, "~> 1.3"}
]
end
Następnie uruchom mix deps.get
, aby pobrać zależność.
Parsowanie JSON:
Aby przekonwertować ciąg znaków JSON na struktury danych Elixir:
json_string = "{\"name\":\"John\", \"age\":30}"
{:ok, person} = Jason.decode(json_string)
IO.inspect(person)
# Wynik: %{"name" => "John", "age" => 30}
Generowanie JSON:
Aby przekonwertować mapę Elixir na ciąg znaków JSON:
person_map = %{"name" => "Jane", "age" => 25}
{:ok, json_string} = Jason.encode(person_map)
IO.puts(json_string)
# Wynik: {"age":25,"name":"Jane"}
Praca ze strukturami:
Aby zakodować strukturę Elixir, musisz zaimplementować protokół Jason.Encoder
dla swojej struktury. Oto przykład:
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)
# Wynik: {"age":28,"name":"Mike"}
To proste podejście pozwoli Ci zacząć integrować przetwarzanie JSON do Twoich aplikacji Elixir, ułatwiając wymianę danych w różnych środowiskach programistycznych.