Dart:
Työskentely YAML:n kanssa

Kuinka:

Dartissa YAML:n käyttö tyypillisesti edellyttää kolmannen osapuolen kirjaston käyttöä, koska kieli ei sisällä sisäänrakennettuja YAML-jäsennysominaisuuksia. Suosittu valinta on yaml-paketti. Aloittaaksesi sinun tulee lisätä tämä paketti pubspec.yaml-tiedostoosi:

dependencies:
  yaml: ^3.1.0

Muista suorittaa pub get noutaaksesi paketin.

YAML:n lukeminen

YAML-tiedoston lukemiseksi, tuo ensin yaml-paketti ja käytä sitten loadYaml-funktiota:

import 'package:yaml/yaml.dart';
import 'dart:io';

void main() {
  final file = File('config.yaml').readAsStringSync();
  final yamlMap = loadYaml(file);

  print(yamlMap['name']); // Tulostus: John Doe
}

Olettaen, että config.yaml-tiedostosi näyttää tältä:

name: John Doe
age: 30

YAML:n kirjoittaminen

Vaikka yaml-paketti onkin hieno jäsennykseen, se ei tue YAML:n kirjoittamista. Tätä varten saatat joutua muuntamaan tietosi manuaalisesti YAML:ksi tai käyttämään toista pakettia, jos sellainen on saatavilla. Tai, yksinkertaisemmin, hallitsemaan datamuunnoksiasi ja tulostamaan ne merkkijonoina, jotka vastaavat YAML-syntaksia:

Map<String, dynamic> data = {
  'name': 'Jane Doe',
  'age': 29,
};

String toYamlString(Map<String, dynamic> map) {
  String yaml = '';
  map.forEach((key, value) {
    yaml += '$key: $value\n';
  });
  return yaml;
}

void main() {
  print(toYamlString(data)); // Tulostus: name: Jane Doe
                             //           age: 29
}

Tämä on alkeellinen lähestymistapa, eikä se välttämättä sovi monimutkaisiin tietorakenteisiin tai erityisiin YAML-ominaisuuksiin. Monimutkaisempien tarpeiden varalta saatat joutua etsimään tai myötävaikuttamaan kattavampaan Dart-pakettiin.