This respository was originally a fork of the original and is no longer being maintained. The project is now a part of clj-commons.
circleci/clj-yaml
provides YAML encoding and
decoding for Clojure via the snakeyaml Java library.
(require '[clj-yaml.core :as yaml])
(yaml/generate-string
[{:name "John Smith", :age 33}
{:name "Mary Smith", :age 27}])
"- {name: John Smith, age: 33}\n- {name: Mary Smith, age: 27}\n"
(yaml/parse-string "
- {name: John Smith, age: 33}
- name: Mary Smith
age: 27
")
=> ({:name "John Smith", :age 33}
{:name "Mary Smith", :age 27})
By default, keys are converted to clojure keywords. To prevent this,
add :keywords false
parameters to the parse-string
function:
(yaml/parse-string "
- {name: John Smith}
" :keywords false)
circleci/clj-yaml
is available as a Maven artifact from Clojars.
[circleci/clj-yaml "0.6.0"]
circleci/clj-yaml {:mvn/version "0.6.0"}
$ git clone git://github.com/circleci/clj-yaml.git
$ lein deps
$ lein test
$ lein install