Elixir:
Робота з JSON

Як це зробити:

У Elixir ви можете використовувати бібліотеку Jason, популярний вибір для парсингу та генерації JSON. Спочатку додайте Jason до залежностей вашого проекту в mix.exs:

defp deps do
  [
    {:jason, "~> 1.3"}
  ]
end

Потім запустіть mix deps.get для отримання залежності.

Парсинг JSON:

Для конвертації рядка JSON у структури даних Elixir:

json_string = "{\"name\":\"Іван\", \"age\":30}"
{:ok, person} = Jason.decode(json_string)
IO.inspect(person)
# Вивід: %{"name" => "Іван", "age" => 30}

Генерація JSON:

Для конвертації мапи Elixir у рядок JSON:

person_map = %{"name" => "Олена", "age" => 25}
{:ok, json_string} = Jason.encode(person_map)
IO.puts(json_string)
# Вивід: {"age":25,"name":"Олена"}

Робота зі структурами:

Для кодування структури Elixir необхідно реалізувати протокол Jason.Encoder для вашої структури. Ось приклад:

defmodule Person do
  @derive {Jason.Encoder, only: [:name, :age]}
  defstruct name: nil, age: nil
end

person_struct = %Person{name: "Михайло", age: 28}
{:ok, json_string} = Jason.encode(person_struct)
IO.puts(json_string)
# Вивід: {"age":28,"name":"Михайло"}

Цей простий підхід допоможе вам розпочати інтеграцію обробки JSON у ваші застосунки Elixir, сприяючи обміну даними у різноманітних програмних середовищах.