日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

YAML 入门教程

發布時間:2023/12/16 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 YAML 入门教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

YAML 入門教程

概念

YAML 是一個可讀性高,用來表達數據序列化的格式。

YAML 的語法和其他高級語言類似,并且可以簡單表達清單、散列表,標量等數據形態。它使用空白符號縮進和大量依賴外觀的特色,特別適合用來表達或編輯數據結構、各種配置文件、傾印調試內容、文件大綱(例如:許多電子郵件標題格式和YAML 非常接近)。盡管它比較適合用來表達層次結構式(hierarchical model)的數據結構,不過也有精致的語法可以表示關系性(relational model)的數據。由于 YAML 使用空白字符和分行來分隔數據,使得它特別適 grep/Python/Perl/Ruby 操作。其讓人最容易上手的特色是巧妙避開各種封閉符號,如:引號、各種括號等,這些符號在嵌套結構時會變得復雜而難以辨認。

基本語法

  • 大小寫敏感
  • 使用縮進表示層級關系
  • 縮進不允許使用tab,只允許空格
  • 縮進的空格數不重要,只要相同層級的元素左對齊即可
  • '#'表示注釋

YAML 轉 json 網站: https://nodeca.github.io/js-yaml/

YAML 支持以下幾種數據類型:

  • 對象:鍵值對的集合,又稱為映射(mapping)/ 哈希(hashes) / 字典(dictionary)
  • 數組:一組按次序排列的值,又稱為序列(sequence) / 列表(list)
  • 純量(scalars):單個的、不可再分的值

鍵值對

  • 鍵值對用 key: value表示,冒號后面需要加一個空格;

  • 也可以如下表示

    map:# Unordered set of key: value pairs.Block style:Clark : EvansIngy : d?t NetOren : Ben-KikiFlow style: { Clark: Evans, Ingy: d?t Net, Oren: Ben-Kiki }

    對應json:

    map: { 'Block style': { Clark: 'Evans', Ingy: 'd?t Net', Oren: 'Ben-Kiki' },'Flow style': { Clark: 'Evans', Ingy: 'd?t Net', Oren: 'Ben-Kiki' } }

數組

數組以-加一個空格開頭

pairs:# Explicitly typed pairs.Block tasks: !!pairs- meeting: with team.- meeting: with boss.- break: lunch.- meeting: with client.Flow tasks: !!pairs [ meeting: with team, meeting: with boss ]

? 對應的 json:

pairs: { 'Block tasks': [ [ 'meeting', 'with team.' ],[ 'meeting', 'with boss.' ],[ 'break', 'lunch.' ],[ 'meeting', 'with client.' ] ],'Flow tasks': [ [ 'meeting', 'with team' ], [ 'meeting', 'with boss' ] ] }

復合實例講解:

--- shudent:user: tonysex: manscore:- math: !!str 100 # !!str 表示判斷為字符串類型- english: !!float 100.0 # !!float 表示判斷為浮點數類型- Chinese: 100fly: true # 布爾類型,也可以是falsefile: null # null 表示為空file0:birthday: 2022-01-01 10:00:00 # 時間格式為年月日用杠連接,時每秒用冒號連接pi: 314e-2 # 科學計數法,相當于314*10^-2book:pythonjavac++book1: >pythonjavac++book2: |pythonjavac++# --- # 創建另外一個文件 # ... # 表示文件結束

對應的 json:

{ shudent: { user: 'tony',sex: 'man',score: [ { math: '100' }, { english: 100 }, { Chinese: 100 } ],fly: true,file: null,file0: null,birthday: Sat Jan 01 2022 18:00:00 GMT+0800 (中國標準時間),pi: 3.14,book: 'python java c++',book1: 'python java c++\n',book2: 'python\njava\nc++\n' } }

總結

以上是生活随笔為你收集整理的YAML 入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。