Elixir:
Werken met YAML
Hoe:
Elixir bevat geen ingebouwde YAML-ondersteuning, maar je kunt de yamerl bibliotheek gebruiken. Voeg eerst yamerl toe aan je mix.exs bestand:
defp deps do
[{:yamerl, "~> 0.8"}]
endNa het uitvoeren van mix deps.get, kun je YAML parsen:
yml_data = """
name: John Doe
age: 30
langs:
- Elixir
- Ruby
- Haskell
"""
parsed_data = :yamerl_constr.string(yml_data) |> Enum.take(1)
IO.inspect(parsed_data)Dit zal uitvoeren:
[
%{
"age" => 30,
"langs" => ["Elixir", "Ruby", "Haskell"],
"name" => "John Doe"
}
]En om Elixir data naar YAML om te zetten:
data = %{
name: "John Doe",
age: 30,
langs: ["Elixir", "Ruby", "Haskell"]
}
yml_string = :yamerl.encode(data)
IO.puts yml_stringDit print:
---
age: 30
langs:
- Elixir
- Ruby
- Haskell
name: John DoeDiepgaande duik
YAML, wat staat voor “YAML Ain’t Markup Language” (een recursief acroniem), bestaat sinds 2001. JSON en XML kunnen vergelijkbare doeleinden dienen, maar de focus van YAML op leesbaarheid maakt het populair voor configuraties. yamerl, een Erlang bibliotheek aangepast voor Elixir via interoperabiliteit, is een solide keuze voor Elixir-ontwikkelaars. Vergeet niet, YAML is gevoelig voor inspringing, wat het parsen een beetje lastiger maakt in vergeliking met JSON.
Zie ook
- Officiële
yamerlGitHub repository: https://github.com/yakaz/yamerl - Elixir
hexdocsvoor YAML-bibs: https://hex.pm/packages?search=yaml&sort=recent_downloads - Officiële YAML site voor specificaties en meer: https://yaml.org
- Elixir School voor het leren van Elixir: https://elixirschool.com/nl/