yml配置语法

1 配置普通数据
  • 语法: key: value

  • 示例代码:

  • name: haohao
    
  • 注意:value之前有一个空格

2 配置对象数据
  • 语法:

    ​ key:

    ​ key1: value1

    ​ key2: value2

    ​ 或者:

    ​ key: {key1: value1,key2: value2}

  • 示例代码:

  • person:
      name: haohao
      age: 31
      addr: beijing
    
    #或者
    
    person: {name: haohao,age: 31,addr: beijing}
    
  • 注意:key1前面的空格个数不限定,在yml语法中,相同缩进代表同一个级别

4.1.2.2.2 配置Map数据

同上面的对象写法

4.1.2.2.3 配置数组(List、Set)数据
  • 语法:

    ​ key:

    ​ - value1

    ​ - value2

    或者:

    ​ key: [value1,value2]

  • 示例代码:

  • city:
      - beijing
      - tianjin
      - shanghai
      - chongqing
      
    #或者
    
    city: [beijing,tianjin,shanghai,chongqing]
    
    #集合中的元素是对象形式
    student:
      - name: zhangsan
        age: 18
        score: 100
      - name: lisi
        age: 28
        score: 88
      - name: wangwu
        age: 38
        score: 90
    
  • 注意:value1与之间的 - 之间存在一个空格

<think>好的,我现在需要帮助用户解决在YAML中配置List集合的语法以及处理特殊字符转义的问题。首先,我要回忆一下YAML的基本结构,尤其是关于数组的部分。根据之前提供的引用内容,YAML中的数组可以使用短横线(-)来表示每个元素,并且有键值对写法和行内写法两种方式。 用户提到可能涉及特殊字符的转义问题,所以需要特别注意字符串中的单引号和双引号的区别。根据引用[3]和引用[4],双引号不会转义特殊字符,比如\n会被当作换行处理,而单引号则会转义,使得\n变成普通字符。例如,在List中如果有包含特殊字符的字符串元素,如何处理这些情况? 接下来,我需要整理出具体的配置示例。比如,普通的List配置,使用短横线,每个元素换行并缩进。行内写法则用方括号括起来,元素之间用逗号分隔。对于包含特殊字符的情况,比如元素中有冒号或者空格,可能需要用引号包裹,或者使用块式结构。 另外,用户可能遇到的常见问题,比如数值前导零的问题,引用[4]提到像00013这样的数值需要加单引号,否则会被解析成八进制数。这也是需要注意的地方,需要在回答中提及。 还需要考虑YAML的层级结构是否正确,缩进是否一致,因为YAML对缩进敏感。可能出现的错误配置案例,比如缩进错误导致解析失败,或者忘记使用引号导致特殊字符被错误处理,这些都需要举例说明。 最后,总结处理特殊字符的方法,强调单双引号的使用场景,以及如何避免常见的配置错误。确保回答结构清晰,步骤明确,让用户能够一步步理解和应用。</think>在 YAML 中配置 List 集合需遵循特定语法规则,特殊字符需根据场景选择转义方式。以下是具体配置方法及注意事项: --- ### 一、List 集合基础语法 #### 1. **键值对写法**(推荐) 使用短横线 `-` 表示数组元素,每个元素独占一行并缩进: ```yaml pets: - cat - dog - pig ``` #### 2. **行内写法** 用方括号 `[]` 包裹元素,逗号分隔: ```yaml pets: [cat, dog, pig] ``` --- ### 二、特殊字符处理 #### 1. **包含空格或冒号的元素** 需用双引号包裹: ```yaml keywords: - "Spring Boot" - "key:value" ``` #### 2. **换行符 `\n` 的处理** - **双引号**:保留换行功能 ```yaml messages: - "第一行\n第二行" ``` 输出效果: ``` 第一行 第二行 ``` - **单引号**:转义为普通字符 ```yaml messages: - '第一行\n第二行' ``` 输出效果: ``` 第一行\n第二行 ``` #### 3. **数值前导零问题** 若数值以 `0` 开头(如 `00013`),需加单引号避免被解析为八进制: ```yaml codes: - '00013' - '00789' ``` --- ### 三、常见错误案例 #### ❌ 错误缩进 ```yaml pets: - cat # 未缩进,导致层级解析错误 - dog ``` 应修正为: ```yaml pets: - cat - dog ``` #### ❌ 未处理特殊字符 ```yaml paths: - C:\User\name # 反斜杠未转义,可能引发解析异常 ``` 应修正为: ```yaml paths: - "C:\\User\\name" # 双引号包裹并转义反斜杠 ``` --- ### 四、最佳实践 1. **优先使用键值对写法**,提升可读性[^2]; 2. **复杂元素统一用双引号包裹**,避免意外转义问题[^3]; 3. **验证 YAML 结构**,可通过在线工具(如 YAML Lint)检查语法---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值