yaml
YAML 是专门用来写配置文件的语言,非常简洁和强大,远比 JSON 格式方便
所以抛弃对 YAML 的成见吧,基本使用方式可参考 YAML 语言教程
- 使用缩进表示层级关系,缩进时候不允许使用 tab,只允许使用空格(但是空格数目不重要,只要相同层级元素左侧对齐即可)
- YAML 支持对象、数组和纯量(字符串,数值,布尔等)
和 JSON 的区别
- 可注释
- 字符串引号是可选的,并且支持单引号和双引号,而 JSON 中字符串必须使用双引号
- 根节点可以是任何有效的数据类型,JSON 根节点必须是数组或者对象
- YAML 是 JSON 的超集,JSON 是 YAML 的子集(所以 YAML 中可以用 JSON 格式)
JSON 和 YAML 互转
可以看下 yaml 官网 推荐
- JSON to YAML
- yaml(官网推荐)
- js-yaml(官网推荐)
- json-to-pretty-yaml
- YAML to JSON
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);
}