YAML और JSON: किस config format का उपयोग करें और कैसे convert करें
2025-05-20
YAML 1.2 का लक्ष्य JSON compatibility है—valid JSON को YAML parser पढ़ सके। Ops config में YAML आम है, जबकि app interchange में JSON; conversion करते समय pitfalls समझना जरूरी है.
Core differences
JSON strict है: comments नहीं, double-quoted keys, canonical structure। YAML indentation-आधारित है, # comments और flexible scalars देता है.
{ "server": { "port": 8080 } }server:
port: 8080Config files के लिए कौन सा बेहतर?
Hand-edited ops config (K8s, CI, Docker) में YAML सुविधाजनक है। Generated manifests और app data exchange के लिए JSON अधिक deterministic है.
Conversion traps
yes/no booleans बन सकते हैं, version strings numbers बन सकती हैं, anchors JSON में नहीं आते, और YAML में tabs invalid हैं.
CLI conversion
yq, js-yaml, PyYAML उपयोग करें और conversion के बाद JSON.parse चलाकर silent type changes पकड़ें.
Practical Kubernetes tips
Repo में YAML रखें; जब JSON-only consumer चाहिए तो CI में convert करें। बहुत बड़े JSON manifests हाथ से न लिखें.
Summary
Humans के लिए YAML, machines के लिए JSON। Tool versions pin करें और हर transform के बाद validation करें.