Arduino:
Работа с YAML

Как использовать:

Arduino изначально не поддерживает работу с YAML. Для работы с ним используйте внешнюю библиотеку. Например:

Установите библиотеку “ArduinoJson” через Менеджер библиотек. Используйте DynamicJsonDocument для разбора:

#include <ArduinoJson.h>

const char* yaml = 
  "- title: Над пропастью во ржи\n"
  "  author: Дж.Д. Сэлинджер\n"
  "- title: 1984\n"
  "  author: Джордж Оруэлл\n";

void setup() {
  Serial.begin(9600);
  DynamicJsonDocument doc(1024);
  deserializeJson(doc, yaml);
  for (JsonObject elem : doc.as<JsonArray>()) {
    Serial.println(elem["title"].as<String>());
    Serial.println(elem["author"].as<String>());
  }
}

void loop() {
  // в этом примере не используется
}

Пример вывода:

Над пропастью во ржи
Дж.Д. Сэлинджер
1984
Джордж Оруэлл

Погружение в детали

YAML появился в начале 2000-х годов, созданный для удобства чтения человеком. Будучи надмножеством JSON, любой файл JSON также является корректным YAML. Среди распространенных альтернатив - JSON или XML, но минималистичный синтаксис YAML направлен на лучшее управление для человека без лишней сложности. Работа с YAML на Arduino означает преобразование YAML в JSON с помощью внешних инструментов, а затем использование JSON в ваших скетчах.

Смотрите также