JavaScript で YAML を扱うなら「js-yaml」が楽チン
Node.js で YAML ファイルを読み込んで扱いたくなったので、ググって1件目に出てきた js-yaml を使ってみた。
$ mkdir practice-yaml-in-js && cd $_
$ npm init -y
$ npm install -S js-yaml
$ touch index.js
index.js
const fs = require('fs');
const jsYaml = require('js-yaml');
// YAML ファイルを読み込む (最終的に string 型の変数に収められていれば YAML ベタ書きでも良い
const yamlData = fs.readFileSync('./my-settings.yaml', 'utf-8');
// 引数の string から連想配列を作る
const data = jsYaml.safeLoad(yamlData);
// 読み込んだファイル (ココでは my-settings.yaml) の内容によるが、以下のようにアクセスできたりする
console.log( data.info.name ); // 連想配列として
console.log( data.fileNames[5] ); // 配列へのアクセス
ファイルからの読み込み部分は素直に fs
を使い、js-yaml
にはとにかく string で渡せば良い。
なお、うまく YAML がパースできなかった場合は、YAMLException
がスローされるので、必要に応じて try
・catch
で囲んだりしておこう。