Dart:
Lavorare con YAML

Come fare:

In Dart, lavorare con YAML comporta tipicamente l’uso di una libreria di terze parti poiché il linguaggio non include capacità di parsing YAML integrate. Una scelta popolare è il pacchetto yaml. Per iniziare, è necessario aggiungere questo pacchetto al proprio pubspec.yaml:

dependencies:
  yaml: ^3.1.0

Ricordarsi di eseguire pub get per recuperare il pacchetto.

Leggere YAML

Per leggere un file YAML, innanzitutto, importare il pacchetto yaml e poi utilizzare la funzione loadYaml:

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

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

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

Assumendo che il tuo file config.yaml appaia così:

name: John Doe
age: 30

Scrivere YAML

Sebbene il pacchetto yaml sia ottimo per il parsing, non supporta la scrittura di YAML. Per questo, potrebbe essere necessario convertire manualmente i propri dati in YAML o utilizzare un altro pacchetto se disponibile. Oppure, più direttamente, gestire le trasformazioni dei dati e produrli come stringhe che corrispondono alla sintassi YAML:

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)); // Output: name: Jane Doe
                             //         age: 29
}

Questo è un approccio elementare e potrebbe non essere adatto a strutture di dati complesse o a funzionalità speciali di YAML. Per esigenze sofisticate, potrebbe essere necessario cercare o contribuire a un pacchetto Dart più completo.