php小編子墨helm是一個流行的Kubernetes套件管理器,用於簡化部署和管理應用程式。然而,有時在將YAML檔案轉換為JSON格式時,可能會遇到錯誤。其中一個常見錯誤是"helm: error converting YAML to JSON: yaml: line xx: could not find expected key"。這個錯誤通常意味著在YAML檔案的第xx行缺少了一個預期的鍵。在本文中,我們將深入探討這個錯誤的原因,並提供解決方案來解決這個問題。
我的values.yaml 檔案中有一個json 編碼的字串->
values.yaml
network: cidrs : "[\"123.123.123.123/32\",\"123.124.125.125/32\"]"
現在,我想將此值用作我的網路策略出口 ipblock 中的字串清單。但我無法將其轉換為列表。
目前,我正在按照此方法來實現要求,但失敗了 -
error converting yaml to json: yaml: line xx : did not find expected key
netpol.yaml
#spec: podSelector: matchLabels: name: log-forwarder policyTypes: - Egress egress: {{- $json := .Values.network.cidrs | fromJson -}} {{- range $json }} - to: - ipBlock: cidr: {{- . }} {{- end }} ports: - protocol: TCP port: 443
知道如何將編碼字串轉換為字串列表並在我的網路策略中使用它嗎?
使用mustFromJson
而不是fromJson
,最近遇到了同樣的問題並修復了它,要查看文件以找出原因。
編輯:由於某種原因fromJson
無法處理頂級列表,但mustFromJson
可以,看起來像一個錯誤,因為文件中列出的唯一區別是mustFromJson
在JSON 無效的情況下回傳錯誤。
以上是helm :將 YAML 轉換為 JSON 時出錯:yaml:第 xx 行:未找到預期的金鑰的詳細內容。更多資訊請關注PHP中文網其他相關文章!