YAML-ból JSON
A Kubernetes manifest, a GitHub Actions és a docker-compose fájlok YAML; egyes API-k és JavaScript-konfigurációk JSON-t igényelnek. Konvertálás a formátumok között helyileg — praktikus, ha a Lint eszközök csak a JSON-t fogadják el, vagy ha config-ot ágyaznak be a package.json szkriptekbe.
Bemenet
A YAML konvertálása JSON-ba
1. A YAML beillesztése a szerkesztőbe.
2. Hiba futtatása a konvertálási soron — syntax tippek.
3. Tekintse át a JSON kimeneti struktúráját.
4. JSON másolása API-hoz vagy érvényesítőhöz.
Konverziós példák
Docker-compose részlet
A services.web.environment map beágyazott JSON-objektummá válik az álszerverhez.
GitHub Actions mátrix
strategy.matrix A YAML blokkból JSON lesz a dokumentációgenerátorhoz.
OpenAPI YAML
Részleges specifikáció konvertált JSON-ba a Swagger UI beillesztési teszthez.
Mikor használd ezt az eszközt
• Amikor a szerszámozás csak a JSON-t fogadd el (egyes sémaellenőrzőket).
• Amikor a JavaScript kódnak elemzett objektumra van szüksége a YAML forrásból.
• A YAML hibakeresése során a JSON ekvivalens struktúra megtekintésével.
Mikor válassz mást
• Ha az emberi szerkeszthetőség és a megjegyzések számítanak — a YAML # olyan megjegyzést támogat, amelyből hiányzik a JSON.
• Ha horgonyokat és álneveket (&ref, *ref) használnak — a konverzió váratlanul kibővülhet.
• Amikor az YAML-t a K8-ra várják általában.
Norvégia probléma
A YAML-ben a nem idézett NO egyes elemzőkben hamissá válik. Idézze meg az országkódokat és a verziókarakterláncokat, például az „1.0”-t, hogy elkerülje a logikai/lebegő meglepetéseket a JSON-ban.
A K8s oda-vissza
A kubectl a JSON-t is elfogadd — a jq feldolgozásra való konvertálás, majd visszaállítás rendben van, ha érvényesíti az alkalmazás előtt.
Titkok a YAML-ben
Soha ne illessze be az éles kubeconfig-ot a tokenekkel, de előfordulhat, hogy a tokenekkel futtatott kubeconfig nem megbízható helyi kártyalapokká konvertál titkok.
Gyakori kérdések
Megjegyzések YAML-ben?
JSON-kimeneten törölve — a megjegyzések nem élik túl az átalakítást.
Tabulátorok a YAML-ben?
A YAML tiltja a tabulátorok használatát a behúzáshoz — a szóköz javítása először.
Több dokumentumból álló YAML?
--- az elválasztott dokumentumokat esetleg manuálisan kell felosztani.
Típuskényszer?
A YAML 1.1 — a J.1-es eredményeket igaznak tekinti a booleanse/ ügyeljen az idézőjel nélküli országkódokra, mint például a NEM Norvégiában.
Helyi?
Igen.
JSON vissza a YAML-be?
Használjon JSON-YAML eszközt, ha elérhető; kézi átírás a megjegyzésekhez.