• 常见配置文件格式INI/XML/YAML/JSON/Properties/TOML/HCL/YAML Front Matter/.env介绍及实例


    1. 常见配置文件INI XML YAML JSON Properties介绍

    以下是常见配置文件格式(INI、XML、YAML、JSON、Properties、TOML、HCL、YAML Front Matter、.env)的比较:

    配置文件格式简介语法定义优点缺点常见使用场景常见编程语言
    INI简单的文本文件格式节(section)和键值对(key-value pairs)简单易懂,容易编辑和维护对复杂数据结构和嵌套层次支持有限存储简单的配置信息Python, Java, C#
    XML用于存储和传输数据的标记语言标签(tags)和属性(attributes)自我描述性和可扩展性,支持复杂数据结构和命名空间语法较冗长,文件体积较大,解析和处理速度较慢跨平台和跨语言的数据交换Java, C#, JavaScript
    YAML人类可读的数据序列化格式缩进和结构化的键值对简洁的语法和易读性,支持注释和引用对一些复杂数据结构的表示相对有限配置文件和数据序列化Python, Ruby, JavaScript
    JSON轻量级的数据交换格式花括号表示对象,方括号表示数组,键和字符串值需用双引号括起简洁的语法和广泛的支持,易于解析和处理不支持注释,相对其他格式可能稍显冗长前后端数据传输,API交互JavaScript, Python, Java
    Properties简单的键值对文件格式键值对,使用等号或冒号分隔简单易懂,易于解析和处理对复杂数据结构和嵌套层次支持有限存储简单的配置信息Java
    TOML面向配置文件的语言键值对和表(Table)简洁易读,支持注释和多种数据类型相对较新,支持度可能稍低配置文件和数据序列化Rust, Go, Python
    HCLHashiCorp 公司开发的配置语言块和键值对简洁易读,支持复杂数据结构和嵌套相对较新,使用场景相对局限基础设施自动化和云环境管理Terraform
    YAML Front Matter嵌入在文件开头的YAML格式元数据块,常用于静态网站生成器YAML语法灵活易读,方便管理网站元数据仅适用于特定场景静态网站生成器Jekyll, Hugo, Gatsby
    .env用于存储环境变量配置的简单文本文件键值对,使用等号或冒号分隔简单易懂,方便管理环境变量不适合复杂配置需求环境变量配置Node.js, Python, Ruby, Go, Java

    每个配置文件格式都有其特定的优势和适用场景,你可以根据项目需求和个人喜好选择适合的配置文件格式和编程语言。请注意,每种配置文件格式都有其适用的场景和优缺点。最终的选择应根据您的具体需求、编程语言和工具的支持以及文件的可读性和易维护性来决定。

    2. 配置文件格式的具体实例:

    1. INI 文件格式:

    ; Sample INI configuration file
    
    [Section1]
    key1 = value1
    key2 = value2
    
    [Section2]
    key3 = value3
    key4 = value4
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    2. XML 文件格式:

    
    
    <config>
      <section1>
        <key1>value1key1>
        <key2>value2key2>
      section1>
      <section2>
        <key3>value3key3>
        <key4>value4key4>
      section2>
    config>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    3. YAML 文件格式:

    # Sample YAML configuration file
    
    section1:
      key1: value1
      key2: value2
    
    section2:
      key3: value3
      key4: value4
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    4. JSON 文件格式:

    {
      "section1": {
        "key1": "value1",
        "key2": "value2"
      },
      "section2": {
        "key3": "value3",
        "key4": "value4"
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    5. Properties 文件格式:

    # Sample properties configuration file
    
    key1=value1
    key2=value2
    key3=value3
    key4=value4
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    6. TOML 文件格式:

    # Sample TOML configuration file
    
    [section1]
    key1 = "value1"
    key2 = "value2"
    
    [section2]
    key3 = "value3"
    key4 = "value4"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    7. HCL 文件格式(HashiCorp Configuration Language):

    # Sample HCL configuration file
    
    section1 {
      key1 = "value1"
      key2 = "value2"
    }
    
    section2 {
      key3 = "value3"
      key4 = "value4"
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    8. YAML Front Matter 文件格式(常用于静态网站生成器中的配置):

    ---
    title: "My Website"
    author: "John Doe"
    description: "This is a sample website"
    ---
    
    # Content goes here...
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    9. .env 文件格式(常用于存储环境变量配置):

    # Sample .env configuration file
    
    API_KEY=abc123
    DATABASE_URL=postgres://user:password@localhost/mydb
    
    • 1
    • 2
    • 3
    • 4

    这些是常见的配置文件格式的具体实例。它们在不同的应用场景中使用广泛,具体的选择取决于需求和使用的工具、框架或语言。

  • 相关阅读:
    Vue3 源码解读系列(七)——侦听器
    5分钟理解什么是卷积的特征提取
    上海亚商投顾:沪指放量涨1.69% 房地产板块掀涨停潮
    ORB-SLAM2从理论到代码实现(十四):KeyFrame类
    go语言第四章
    一文告诉你什么是 Kubernetes
    分享:新入职时,如何快速熟悉一个项目的代码
    Python 程序性能测试方法
    重要的 SQL Server 函数 - 数字函数
    Bert基础(二)--多头注意力
  • 原文地址:https://blog.csdn.net/holyvslin/article/details/132607857