当前位置: 首页 > article >正文

CTF-web: YAML是什么

YAML(YAML Ain’t Markup Language)是一种常见的序列化数据格式,主要用于配置文件和数据交换。它的设计目标是简洁、易读,并且易于与编程语言交互。YAML 使用缩进来表示层次结构,类似于 Python 的语法。:

基本语法结构

  1. 键值对

    • YAML 中最基本的结构是键值对,用于表示映射(类似于 Python 的字典)。
    name: John Doe
    age: 30
    
  2. 列表

    • 用破折号(-)表示列表项。
    items:
      - item1
      - item2
      - item3
    
  3. 嵌套结构

    • 使用缩进表示嵌套的层次结构。
    person:
      name: John Doe
      age: 30
      address:
        street: 123 Main St
        city: Anytown
        zip: 12345
    
  4. 多行字符串

    • 使用 | 保留换行符。
    • 使用 > 折叠换行符。
    description: |
      This is a
      multi-line string
      that preserves newlines.
    
    summary: >
      This is a
      multi-line string
      that folds newlines.
    
  5. 注释

    • # 开头的行是注释。
    # This is a comment
    name: John Doe  # Inline comment
    
  6. 数据类型

    • YAML 支持多种数据类型,包括字符串、整数、浮点数、布尔值、null、日期、时间等。
    string: "hello"
    integer: 42
    float: 3.14
    boolean: true
    null_value: null
    date: 2023-01-28
    datetime: 2023-01-28T13:45:00Z
    

示例

下面是一个更复杂的 YAML 示例,涵盖了大部分常见的结构:

# Sample YAML configuration
server:
  host: localhost
  port: 8080
  ssl: true

database:
  engine: postgresql
  host: db.example.com
  port: 5432
  name: mydatabase
  credentials:
    username: dbuser
    password: dbpassword

logging:
  level: DEBUG
  file: /var/log/app.log

features:
  - authentication
  - logging
  - caching

thresholds:
  warning: 75
  critical: 90

# Multi-line strings
description: |
  This is a sample application configuration file.
  It contains multiple sections and nested structures.

summary: >
  This is a summary
  that spans multiple lines
  but will be folded into a single paragraph.

http://www.kler.cn/a/523059.html

相关文章:

  • 知识库管理驱动企业知识流动与工作协同创新模式
  • 解读隐私保护工具 Fluidkey:如何畅游链上世界而不暴露地址?
  • lightweight-charts-python 包 更新 lightweight-charts.js 的方法
  • 【时时三省】(C语言基础)文件的随机读写
  • ArcGIS10.2 许可License点击始终启动无响应的解决办法及正常启动的前提
  • 卡特兰数学习
  • 元宇宙与Facebook:社交互动的未来方向
  • Jetpack架构组件学习——使用Glance实现桌面小组件
  • 相互作用感知的蛋白-小分子对接模型 - Interformer 评测
  • 算法题(50):删除排序链表中的重复元素 II
  • ML基础——分类模型的评估指标
  • STM32 TIM定时器配置
  • 虚幻基础08:组件接口
  • 在ubuntu下一键安装 Open WebUI
  • 能够对设备的历史数据进行学习与分析,通过与设备当前状态的比对,识别潜在故障并做出预判的名厨亮灶开源了。
  • 宝塔安装完redis 如何访问
  • 信息学奥赛一本通 1396:病毒(virus)
  • c++多态
  • JavaScript逆向高阶指南:突破基础,掌握核心逆向技术
  • Nginx 开发总结
  • 《网络数据安全管理条例》施行,企业如何推进未成年人个人信息保护(上)
  • 深入探索C++17的std::any:类型擦除与泛型编程的利器
  • STM32 LED呼吸灯
  • pycharm(2)
  • noteboolm 使用笔记
  • 面向对象编程简史