Clojure:
Работа с YAML

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

Clojure изначально не поддерживает работу с YAML. Вам потребуется использовать библиотеку, например, clj-yaml. Сначала добавьте её в зависимости:

;; Добавить в project.clj или deps.edn
[clj-yaml "0.7.0"]

Теперь давайте разберёмся, как преобразовать строку YAML в карту Clojure и обратно:

(require '[clj-yaml.core :as yaml])

;; Преобразование строки YAML в карту Clojure
(let [yaml-str "foo: bar\nbaz: 42"]
  (yaml/parse-string yaml-str))
;; => {"foo" "bar", "baz" 42}

;; Преобразование карты Clojure в YAML
(let [clojure-map {"foo" "bar", "baz" 42}]
  (yaml/generate-string clojure-map))
;; Выводит строку YAML:
;; foo: bar
;; baz: 42

Погружение в детали

YAML был впервые выпущен в 2001 году с целью быть более читаемым, чем XML, при этом предлагая богаче структуры данных, чем JSON. clj-yaml построена на основе SnakeYAML, библиотеки Java, что позволяет обеспечивать взаимодействие с языками JVM. Альтернативы включают прямое использование org.yaml.snakeyaml или cheshire для преобразования в JSON, поскольку JSON является подмножеством YAML.

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

Углубитесь в тему с помощью этих ресурсов: