首頁 > 後端開發 > Golang > 主體

helm :將 YAML 轉換為 JSON 時出錯:yaml:第 xx 行:未找到預期的金鑰

PHPz
發布: 2024-02-10 12:30:10
轉載
718 人瀏覽過

helm :将 YAML 转换为 JSON 时出错:yaml:第 xx 行:未找到预期的密钥

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中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!