本文介紹一下在實際開發過程中關於 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 讀取配置文件時會報錯,因此需要使用第四種方式來將一個字符串拆成多行,解析之後仍然是一個完整的字符串