codecamp

YAML 完整长度示例

以下完整长度示例指定YAML的构造,其中包括符号和各种表示,这些表示在以JSON格式转换或处理它们时将非常有用。 这些属性在JSON文档中也称为键名。 这些符号是出于安全目的而创建的。

上述YAML格式表示具有各种其他属性的默认值,适配器和主机的各种属性。 YAML还会记录生成的每个文件,这些文件会保留生成的错误消息的跟踪。 在以JSON格式转换指定的YAML文件时,得到所需的输出,如下所述 -

defaults: &defaults
   adapter:  postgres
   host:     localhost

development:
   database: myapp_development
   <<: *defaults

test:
   database: myapp_test
   <<: *defaults

下面将YAML转换为JSON格式并检查输出。

{
   "defaults": {
      "adapter": "postgres",
      "host": "localhost"
   },
   "development": {
      "database": "myapp_development",
      "adapter": "postgres",
      "host": "localhost"
   },
   "test": {
      "database": "myapp_test",
      "adapter": "postgres",
      "host": "localhost"
   }
}

前缀为<<:*的默认键包含在必需时,无需重复编写相同的代码段。




YAML 标量和标签
YAML 流程
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }