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, сприяючи обміну даними у різноманітних програмних середовищах.