Elixir:
Работа с JSON

Как это сделать:

Для работы с JSON в Elixir мы используем библиотеки, такие как Jason или Poison. Вот быстрый гайд по использованию Jason:

# Добавьте Jason в ваш mix.exs как зависимость
{:jason, "~> 1.3"}

# в файле .ex для кодирования Elixir в JSON
json_string = Jason.encode!(%{foo: "bar"})

# Теперь декодирование JSON в Elixir
elixir_map = Jason.decode!(json_string)

Вывод:

json_string #=> "{\"foo\":\"bar\"}"
elixir_map  #=> %{"foo" => "bar"}

Кодирование с opts для красивого вывода:

Jason.encode!(%{foo: "bar"}, pretty: true)

Вывод:

{
  "foo": "bar"
}

Глубже в тему

JSON был предложен Дугласом Крокфордом в начале 2000-х. Он быстро получил распространение из-за своей простоты по сравнению с XML.

Альтернативы? Конечно — XML, YAML или Protocol Buffers, но JSON остается в лидерах из-за простоты и нативной поддержки в JavaScript.

Под капотом библиотеки JSON преобразуют типы данных Elixir в строки JSON и обратно. Сопоставление с образцом в Elixir и мощная стандартная библиотека делают процесс кодирования и декодирования плавным.

Смотрите также