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

PHPz
Lepaskan: 2024-02-10 12:30:10
ke hadapan
718 orang telah melayarinya

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\"]"
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!