YAML ಗೆ JSON ಪರಿವರ್ತಕ
ವೇಗದ ಮತ್ತು ಸುರಕ್ಷಿತ YAML ಗೆ JSON ಪರಿವರ್ತನೆ. ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ಗಳು ಮತ್ತು ಡೇಟಾ ವಿಶ್ಲೇಷಣೆಗೆ ಪರಿಪೂರ್ಣ.
ವೇಗದ ಮತ್ತು ಸುರಕ್ಷಿತ YAML ಗೆ JSON ಪರಿವರ್ತನೆ. ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ಗಳು ಮತ್ತು ಡೇಟಾ ವಿಶ್ಲೇಷಣೆಗೆ ಪರಿಪೂರ್ಣ.
YAML ಮತ್ತು JSON ನಿಕಟವಾಗಿ ಸಂಬಂಧಿಸಿರುವ ಸ್ವರೂಪಗಳು - JSON ತಾಂತ್ರಿಕವಾಗಿ YAML 1.2 ರ ಕಟ್ಟುನಿಟ್ಟಾದ ಉಪವಿಭಾಗವಾಗಿದೆ - ಮತ್ತು ಅವುಗಳ ನಡುವೆ ಪರಿವರ್ತಿಸುವುದು ಸಾಮಾನ್ಯವಾಗಿ ಸರಳವಾಗಿದೆ. JSON ಕೊರತೆಯಿರುವ ಮಾನವ-ಸ್ನೇಹಿ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು YAML ಸೇರಿಸುತ್ತದೆ: ಕಾಮೆಂಟ್ಗಳು, ತಪ್ಪಿಸಿಕೊಳ್ಳದೆ ಬಹು-ಸಾಲಿನ ತಂತಿಗಳು, ಆಂಕರ್ ಮತ್ತು ಅಲಿಯಾಸ್ ಉಲ್ಲೇಖಗಳು, ಹೆಚ್ಚು ಹೊಂದಿಕೊಳ್ಳುವ ಉಲ್ಲೇಖಗಳು ಮತ್ತು ನೈಸರ್ಗಿಕ ಡಾಕ್ಯುಮೆಂಟ್ ವಿನ್ಯಾಸವನ್ನು ಹೋಲುವ ಇಂಡೆಂಟೇಶನ್ ಆಧಾರಿತ ರಚನೆ. ಇದು YAML ಅನ್ನು ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ಗಳಿಗೆ ಜನಪ್ರಿಯ ಆಯ್ಕೆಯನ್ನಾಗಿ ಮಾಡುತ್ತದೆ (ಕುಬರ್ನೆಟ್ಸ್ ಮ್ಯಾನಿಫೆಸ್ಟ್ಗಳು, GitHub ಕ್ರಿಯೆಗಳ ವರ್ಕ್ಫ್ಲೋಗಳು, ಡಾಕರ್ ಕಂಪೋಸ್) ಆದರೆ JSON API ಪೇಲೋಡ್ಗಳಲ್ಲಿ ಪ್ರಾಬಲ್ಯ ಹೊಂದಿದೆ.
YAML ಅನ್ನು JSON ಗೆ ಪರಿವರ್ತಿಸುವುದು ಎಂದರೆ ಯಂತ್ರಗಳು ಹೆಚ್ಚು ಸುಲಭವಾಗಿ ಪಾರ್ಸ್ ಮಾಡುವ ಫಾರ್ಮ್ಯಾಟ್ಗೆ ಬದಲಾಗಿ YAML ನ ಮಾನವ-ಸ್ನೇಹಿ ಎಕ್ಸ್ಟ್ರಾಗಳನ್ನು ಬಿಟ್ಟುಕೊಡುವುದು ಮತ್ತು ಅದು HTTP API ಗಳ ಭಾಷೆಯಾಗಿದೆ. ಕಾಮೆಂಟ್ಗಳನ್ನು ಕೈಬಿಡಲಾಗಿದೆ (JSON ಯಾವುದೂ ಇಲ್ಲ). ಆಂಕರ್ ಉಲ್ಲೇಖಗಳನ್ನು ಅವುಗಳ ಉಲ್ಲೇಖಿತ ಮೌಲ್ಯಗಳಲ್ಲಿ ಪರಿಹರಿಸಲಾಗುತ್ತದೆ. ಎಂಬೆಡೆಡ್ ನ್ಯೂಲೈನ್ಗಳೊಂದಿಗೆ ಬಹು-ಸಾಲಿನ ತಂತಿಗಳು ಪ್ರಮಾಣಿತ JSON ಸ್ಟ್ರಿಂಗ್ಗಳಿಗೆ ಕುಸಿಯುತ್ತವೆ.
ಈ ಪರಿವರ್ತಕವು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ ಹೆಚ್ಚು ವ್ಯಾಪಕವಾಗಿ ಬಳಸಲಾಗುವ YAML ಲೈಬ್ರರಿಯಾದ js-yaml ಅನ್ನು ಬಳಸಿಕೊಂಡು YAML ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡುತ್ತದೆ. ಐಚ್ಛಿಕ ಇಂಡೆಂಟೇಶನ್ನೊಂದಿಗೆ JSON.stringify ಬಳಸಿಕೊಂಡು ಔಟ್ಪುಟ್ ಅನ್ನು ರಚಿಸಲಾಗಿದೆ. ಪರಿವರ್ತನೆಯು ಹರಿವಿನ ಶೈಲಿ, ಬ್ಲಾಕ್ ಶೈಲಿ, ಸ್ಕೇಲರ್ಗಳು, ಅನುಕ್ರಮಗಳು, ಮ್ಯಾಪಿಂಗ್ಗಳು, ಆಂಕರ್ಗಳು, ಅಲಿಯಾಸ್ಗಳು ಮತ್ತು ಪ್ರಮಾಣಿತ ಟ್ಯಾಗ್ ಪ್ರಕಾರಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಎಲ್ಲಾ ಪ್ರಮಾಣಿತ YAML 1.2 ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.
ಹೆಚ್ಚಿನ APIಗಳು ಮತ್ತು ಅನೇಕ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಪರಿಸರಗಳು JSON ಅನ್ನು ನಿರೀಕ್ಷಿಸುತ್ತವೆ. ಕೋಡ್ ಅಥವಾ JSON ಅನ್ನು ಮಾತ್ರ ಸ್ವೀಕರಿಸುವ ಸೇವೆಗಳೊಂದಿಗೆ ಸಂಯೋಜಿಸುವಾಗ YAML ನಲ್ಲಿ ಬರೆಯಲಾದ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ಗಳನ್ನು JSON ಗೆ ಪರಿವರ್ತಿಸುವ ಅಗತ್ಯವಿದೆ. JSON ಗಾಗಿ ಟೂಲಿಂಗ್ ಕೂಡ ಹೆಚ್ಚು ಹೇರಳವಾಗಿದೆ: jq, JSON ಪಾತ್, JSON ಸ್ಕೀಮಾ, ಮತ್ತು ವ್ಯಾಲಿಡೇಟರ್ಗಳು ಮತ್ತು ಟ್ರಾನ್ಸ್ಫಾರ್ಮರ್ಗಳ ವ್ಯಾಪಕ ಪರಿಸರ ವ್ಯವಸ್ಥೆಯು JSON ಇನ್ಪುಟ್ ಅನ್ನು ಊಹಿಸುತ್ತದೆ.
YAML ಅಲ್ಲದ ರೀತಿಯಲ್ಲಿ JSON ಸಹ ನಿಸ್ಸಂದಿಗ್ಧವಾಗಿದೆ. YAML ನ ನಮ್ಯತೆಯು ಪಾರ್ಸಿಂಗ್ ಸರ್ಪ್ರೈಸ್ಗಳನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ - YAML 1.1 ರಲ್ಲಿ ಬೂಲಿಯನ್ ಫಾಲ್ಸ್ ಎಂದು 'ನೋ' ಪಾರ್ಸಿಂಗ್, ಆವೃತ್ತಿ ಸ್ಟ್ರಿಂಗ್ಗಳು ಫ್ಲೋಟ್ಗಳಾಗಿ ಪಾರ್ಸಿಂಗ್, ಇಂಡೆಂಟೇಶನ್ ದೋಷಗಳು ಮೂಕ ರಚನಾತ್ಮಕ ಬದಲಾವಣೆಗಳನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ. JSON ಗೆ ಪರಿವರ್ತಿಸುವುದರಿಂದ ಡೇಟಾವನ್ನು ಕಡಿಮೆ-ಅಸ್ಪಷ್ಟ ರೂಪಕ್ಕೆ ಫ್ರೀಜ್ ಮಾಡುತ್ತದೆ.
YAML ಅನ್ನು ಅಂಟಿಸಿ, JSON ಪಡೆಯಿರಿ.
js-yaml YAML 1.1 ಕ್ವಿರ್ಕ್ಗಳಿಗೆ ಐಚ್ಛಿಕ ಬೆಂಬಲದೊಂದಿಗೆ YAML 1.2 ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ ('ಇಲ್ಲ'-as-false ಸಮಸ್ಯೆ, 0o ಪೂರ್ವಪ್ರತ್ಯಯವಿಲ್ಲದ ಆಕ್ಟಲ್ ಸಂಖ್ಯೆಗಳು). ಪಾರ್ಸರ್ ಸ್ಥಳೀಯ ಪ್ರಕಾರಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಆಬ್ಜೆಕ್ಟ್ ಟ್ರೀ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ: ಸಂಖ್ಯೆಗಳು, ತಂತಿಗಳು, ಬೂಲಿಯನ್ಗಳು, ಶೂನ್ಯ, ಅರೇಗಳು ಮತ್ತು ಸರಳ ವಸ್ತುಗಳು.
JSON.stringify ಆಬ್ಜೆಕ್ಟ್ ಟ್ರೀ ಅನ್ನು JSON ಗೆ ಧಾರಾವಾಹಿ ಮಾಡುತ್ತದೆ. ಐಚ್ಛಿಕ ಇಂಡೆಂಟೇಶನ್ ಸಾಕಷ್ಟು-ಮುದ್ರಿತ ಔಟ್ಪುಟ್ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ; ಅದಿಲ್ಲದೆ ಫಲಿತಾಂಶವು ಕಾಂಪ್ಯಾಕ್ಟ್ ಏಕ-ಸಾಲಿನ JSON ಆಗಿದೆ. ವಿಶೇಷ ಮೌಲ್ಯಗಳು (NaN, Infinity, undefined) ಮಾನ್ಯ JSON ಅಲ್ಲ; ಪರಿವರ್ತಕವು ಅವುಗಳನ್ನು ಪ್ರಸ್ತುತ ಇರುವಲ್ಲಿ ಶೂನ್ಯಕ್ಕೆ ಒತ್ತಾಯಿಸುತ್ತದೆ.
ಎಡ್ಜ್ ಕೇಸ್ಗಳು: JSON ನಲ್ಲಿ YAML ಟೈಮ್ಸ್ಟ್ಯಾಂಪ್ಗಳು ISO-8601 ಸ್ಟ್ರಿಂಗ್ಗಳಾಗಿವೆ. YAML ಬೈನರಿ ಡೇಟಾ (base64-ಎನ್ಕೋಡ್) ಸ್ಟ್ರಿಂಗ್ ಆಗುತ್ತದೆ. JSON ಯಾವುದೇ ಉಲ್ಲೇಖ ಸಿಂಟ್ಯಾಕ್ಸ್ ಹೊಂದಿಲ್ಲದ ಕಾರಣ, ಆಂಕರ್ಗಳು ಮತ್ತು ಅಲಿಯಾಸ್ಗಳನ್ನು JSON ನಲ್ಲಿ ನಕಲಿ ಮೌಲ್ಯಗಳಾಗಿ ಪರಿಹರಿಸಲಾಗುತ್ತದೆ.