zoukankan      html  css  js  c++  java
  • yaml 格式

    yaml:Yet Another Markup Language

    优点:
    1、语法简单,大纲方式呈现,可读性高
    2、使用空白字符和分行来分隔资料,可以用于 grep、Python、Perl、Ruby操作
    3、减少了很多符号,引号,括号等
    4、提取记录之前不需要全部读取数据

    用途:可以做序列化或配置文件


    格式:
    1、字串不一定要用双引号标识;
    2、在缩排中空白字符的数目并不是非常重要,只要相同阶层的元素左侧对齐就可以了(不过不能使用TAB字符);
    3、允许在文件中加入选择性的空行,以增加可读性;
    4、在一个档案中,可同时包含多个文件,并用“——”分隔;
    5、选择性的符号“...”可以用来表示档案结尾(在利用串流的通讯中,这非常有用,可以在不关闭串流的情况下,发送结束讯号)。


    缺点:YAML没有自己的数据类型的定义,而是使用实现语言的数据类型。
    相同的字符串不同的语言解析的类型不同,存在兼容性问题

    yaml 中 map是有序的,json中没有
    要将YAML置入JSON中,需要用引号框住,并转换内部的所有引号

    php示例

    $yaml = <<<EOD
    --- #文档开始符
    invoice: 34843 #map结构,注意空格
    date: "2001-01-23" #字符串可以不用引号,但有特殊字符时需要
    bill-to: &id001 #锚点
      given: Chris
      family: Dumars
      address:
        lines: |- # |  后的字符串换行符会保留
          458 Walkman Dr.
                  Suite #292
        city: Royal Oak
        state: MI
        postal: 48046
    ship-to: *id001 #引用锚点
    product:
    - sku: BL394D
      quantity: 4
      description: Basketball
      price: 450
    - sku: BL4438H
      quantity: 1
      description: Super Hoop
      price: 2392
    tax: 251.420000
    total: 4443.520000
    comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
    ... #文档开始符,单个文档可省略
    EOD;
    
    $parsed = yaml_parse($yaml);
    ee($parsed);

    参考:

    http://www.yaml.org/spec/1.2/spec.html# 

    在线js解析器

    http://www.stay-stupid.com/?p=357

    官方文档

  • 相关阅读:
    JS-OO-数据属性,访问器属性
    下载php扩展笔记
    php字符串笔记
    include、require、include_once和require_once理解
    http协议笔记
    Git中三种文件状态及其转换
    git add 命令
    / 直接用就可以了 想用,需要用\来转义
    $_POST 变量以及$GLOBALS['HTTP_RAW_POST_DATA']
    Python multiprocessing
  • 原文地址:https://www.cnblogs.com/siqi/p/7030198.html
Copyright © 2011-2022 走看看