Dart:
การทำงานกับ YAML

วิธีการ:

ใน Dart, การทำงานกับ YAML โดยทั่วไปจะเกี่ยวข้องกับการใช้ไลบรารีภายนอก เนื่องจากภาษานี้ไม่รวมความสามารถในการแยกวิเคราะห์ YAML เข้ามาด้วย ตัวเลือกที่ได้รับความนิยมคือแพคเกจ yaml ในการเริ่มต้น คุณจะต้องเพิ่มแพคเกจนี้ลงใน pubspec.yaml ของคุณ:

dependencies:
  yaml: ^3.1.0

อย่าลืมรัน pub get เพื่อดึงแพคเกจ.

การอ่าน YAML

ในการอ่านไฟล์ YAML ขั้นแรกให้นำเข้าแพคเกจ yaml แล้วใช้ฟังก์ชั่น loadYaml:

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

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

  print(yamlMap['name']); // ผลลัพธ์: John Doe
}

โดยสมมติว่าไฟล์ config.yaml ของคุณมีหน้าตาดังนี้:

name: John Doe
age: 30

การเขียน YAML

ในขณะที่แพคเกจ yaml เหมาะสำหรับการวิเคราะห์ข้อมูล แต่ไม่รองรับการเขียน YAML สำหรับสิ่งนั้น คุณอาจจำเป็นต้องแปลงข้อมูลของคุณเป็น YAML ด้วยมือหรือใช้แพคเกจอื่นหากมี หรือ วิธีที่ง่ายกว่าคือจัดการการเปลี่ยนแปลงข้อมูลของคุณและแสดงผลออกมาเป็นสตริงที่ตรงกับไวยากรณ์ 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)); // ผลลัพธ์: name: Jane Doe
                             //         age: 29
}

นี่เป็นวิธีการพื้นฐานและอาจไม่เหมาะสมกับโครงสร้างข้อมูลที่ซับซ้อนหรือคุณสมบัติพิเศษของ YAML สำหรับความต้องการที่ซับซ้อนเพิ่มเติม คุณอาจต้องมองหาหรือมีส่วนร่วมในแพคเกจ Dart ที่ครอบคลุมมากขึ้น