本文介绍一下在实际开发过程中关于 yaml 语言字符串换行的问题。
yaml 语言在线编辑: https://www.bejson.com/validators/yaml_editor/
String1: |
line1
line2
line3
String2: >
line1
line2
line3
String3:
line1
line2
line3
String4:
"line1\
line2\
line3"
转义后:
{ String1: 'line1\nline2\nline3\n',
String2: 'line1 line2 line3\n',
String3: 'line1 line2 line3',
String4: 'line1line2line3' }
从结果可以看出,
使用 | 会保留换行符,
使用 > 没有换行符,但是两行字符串之间会有空格,这两种是绝大多数查阅到的 yaml 文件说明文档的写法
第三种字符串会自动拼接,但是中间会有空格
使用\会自动凭借下一行字符串不会转换成空格:但是在 spring boot 配置文件中是不行的,因为这不再是一个完整的字符串,而是把一个字符串拆成了多段,spring boot 读取配置文件时会报错,因此需要使用第四种方式来将一个字符串拆成多行,解析之后仍然是一个完整的字符串