Rumah  >  Artikel  >  pembangunan bahagian belakang  >  helm : Ralat menukar YAML kepada JSON: yaml: line xx: Kunci yang dijangka tidak ditemui

helm : Ralat menukar YAML kepada JSON: yaml: line xx: Kunci yang dijangka tidak ditemui

PHPz
PHPzke hadapan
2024-02-10 12:30:10722semak imbas

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

helm ialah pengurus pakej Kubernetes yang popular digunakan untuk memudahkan penggunaan dan pengurusan aplikasi. Walau bagaimanapun, kadangkala anda mungkin menghadapi ralat semasa menukar fail YAML kepada format JSON. Salah satu ralat biasa ialah "helm: error converting YAML to JSON: yaml: line xx: cannot find expected key". Ralat ini biasanya bermakna kunci yang dijangkakan tiada pada baris xx fail YAML. Dalam artikel ini, kami akan menyelidiki punca ralat ini dan menyediakan penyelesaian untuk membetulkannya.

Kandungan soalan

Terdapat rentetan yang dikodkan json dalam fail values.yaml saya->

values.yaml

network:
  cidrs : "[\"123.123.123.123/32\",\"123.124.125.125/32\"]"

Sekarang saya mahu menggunakan nilai ini sebagai senarai rentetan dalam ipblock keluar dasar rangkaian saya. Tetapi saya tidak boleh menukarnya kepada senarai.

Pada masa ini saya mengikuti kaedah ini untuk mencapai keperluan tetapi ia gagal -

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

Ada idea bagaimana untuk menukar rentetan yang dikodkan kepada senarai rentetan dan menggunakannya dalam strategi web saya?

Penyelesaian

Menggunakan mustFromJson 而不是 fromJson, baru-baru ini menghadapi masalah yang sama dan membetulkannya, perlu menyemak dokumentasi untuk mengetahui puncanya.

EDIT: Atas sebab tertentu fromJson 无法处理顶级列表,但 mustFromJson 可以,看起来像一个错误,因为文档中列出的唯一区别是 mustFromJson mengembalikan ralat jika JSON tidak sah.

Sumber

Atas ialah kandungan terperinci helm : Ralat menukar YAML kepada JSON: yaml: line xx: Kunci yang dijangka tidak ditemui. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam