simplify the life

yaml

YAML 是专门用来写配置文件的语言,非常简洁和强大,远比 JSON 格式方便

所以抛弃对 YAML 的成见吧,基本使用方式可参考 YAML 语言教程

  • 使用缩进表示层级关系,缩进时候不允许使用 tab,只允许使用空格(但是空格数目不重要,只要相同层级元素左侧对齐即可)
  • YAML 支持对象、数组和纯量(字符串,数值,布尔等)

和 JSON 的区别

  • 可注释
  • 字符串引号是可选的,并且支持单引号和双引号,而 JSON 中字符串必须使用双引号
  • 根节点可以是任何有效的数据类型,JSON 根节点必须是数组或者对象
  • YAML 是 JSON 的超集,JSON 是 YAML 的子集(所以 YAML 中可以用 JSON 格式)

JSON 和 YAML 互转

可以看下 yaml 官网 推荐

const yaml = require("js-yaml");
const fs = require("fs");

// yaml -> json
try {
  const doc = yaml.load(
    // raw yaml, string
    fs.readFileSync("/Users/bytedance/fish/dustbin/yaml-json/i.yaml", "utf8")
  );
  console.log(doc);
} catch (e) {
  console.log(e);
}

// json -> yaml
const json = require("./i.json"); // json is Object, not string
try {
  const doc = yaml.dump(json);
  console.log(doc);
} catch (e) {
  console.log(e);
}

posted on 2022-11-20 20:04  lessfish  阅读(64)  评论(0编辑  收藏  举报

导航