Google Apps Script:
Att Arbeta med YAML

Hur man gör:

Medan Google Apps Script (GAS) inte stöder YAML-tolkning eller serialisering som standard, kan du manipulera YAML-data genom att använda JavaScript-bibliotek eller skriva egna tolkningsfunktioner. För demonstration, låt oss överväga hur man tolkar en YAML-sträng med hjälp av en anpassad funktion, eftersom externa bibliotek inte kan importeras direkt i GAS.

Anta att du har en enkel YAML-konfiguration:

title: YAML-exempel
description: Ett exempel på hur man hanterar YAML i Google Apps Script
tags:
  - Google Apps Script
  - YAML
  - Konfiguration

För att tolka detta i Google Apps Script, använd JavaScripts förmåga att manipulera strängar:

function parseYAML(yamlString) {
  var result = {};
  var lines = yamlString.split("\n");
  for (var i = 0; i < lines.length; i++) {
    var line = lines[i];
    if (line.includes(":")) {
      var parts = line.split(":");
      var key = parts[0].trim();
      var value = parts[1].trim();
      // Grundläggande hantering för arrayer
      if (value.startsWith("-")) {
        value = [value.substring(1).trim()];
        while (i + 1 < lines.length && lines[i + 1].trim().startsWith("-")) {
          i++;
          value.push(lines[i].trim().substring(1).trim());
        }
      }
      result[key] = value;
    }
  }
  return result;
}

function testYamlParsing() {
  var yaml = "title: YAML-exempel\ndescription: Ett exempel på hur man hanterar YAML i Google Apps Script\ntags:\n  - Google Apps Script\n  - YAML\n  - Konfiguration";
  var parsed = parseYAML(yaml);
  Logger.log(parsed);
}

När testYamlParsing() körs, ger det utskriften:

{ title: 'YAML-exempel',
  description: 'Ett exempel på hur man hanterar YAML i Google Apps Script',
  tags: [ 'Google Apps Script', ' YAML', ' Konfiguration' ] }

Detta anpassade tolkningsansats är ganska grundläggande och kan behöva justeras för att kunna hantera komplexa YAML-filer.

Fördjupning

YAML, som ursprungligen släpptes 2001, syftade till att vara mer läsbart för människor än dess föregångare som XML eller JSON. Medan dess enkelhet och användarvänlighet är mycket uppskattad, presenterar hanteringen av YAML i Google Apps Script utmaningar på grund av bristen på direkt stöd. Följaktligen litar programmerare ofta på JavaScripts mångsidighet för att tolka och generera YAML-data. Dock, för komplexa användningsfall, särskilt de som involverar djup nästling och avancerade datastrukturer, kan denna metod bli besvärlig och benägen för fel.

JSON stöds däremot infödd i Google Apps Script och de flesta andra programmeringsmiljöer, och erbjuder en mer rakt på sak strategi för data-serialisering och deserialisering utan extra tolkningsöverhuvud. JSONs syntax är mindre långvärd än YAMLs, vilket gör den mer lämplig för datautbyte i webbapplikationer. Dock förblir YAML populärt för konfigurationsfiler och situationer där människans läsbarhet är av yttersta vikt.

När du arbetar med YAML i Google Apps Script, överväg avvägningarna mellan läsbarhet och användarvänlighet. För omfattande YAML-manipulation, kan det vara värt att utforska externa verktyg eller tjänster som kan konvertera YAML till JSON innan du bearbetar det inom ditt skript.