JSON ಮಿನಿಫಿಕೇಷನ್ ಎಂದರೇನು?
JSON (JavaScript Object Notation) ಒಂದು ಲಘು, ಪಠ್ಯ-ಆಧಾರಿತ ಮಾಹಿತಿ-ವಿನಿಮಯ ಸ್ವರೂಪ ಆಗಿದ್ದು RFC 8259 ಮತ್ತು ECMA-404 ನಿಂದ ವ್ಯಾಖ್ಯಾನಿಸಲ್ಪಟ್ಟಿದೆ. ಮಿನಿಫಿಕೇಶನ್ ಸ್ಟ್ರಿಂಗ್ ಅಕ್ಷರ ಸರಣಿ ಹೊರಗಿರುವ ಪ್ರತಿ ಖಾಲಿ ಜಾಗ, ಟ್ಯಾಬ್ ಮತ್ತು ಹೊಸ ಸಾಲನ್ನು ತೆಗೆಯುತ್ತದೆ — ಮೌಲ್ಯಗಳು ಬೈಟ್-ಮೇಲೆ-ಬೈಟ್ ಉಳಿಯುತ್ತವೆ, ಕೇವಲ ಅಲಂಕಾರಿಕ ಖಾಲಿ ಜಾಗ ತೆಗೆಯಲ್ಪಡುತ್ತದೆ. ಔಟ್ಪುಟ್ ಇನ್ಪುಟ್ನಂತೆಯೇ ಅದೇ ಮೌಲ್ಯಕ್ಕೆ ವಿಶ್ಲೇಷಿಸಲ್ಪಡುತ್ತದೆ.
JSON minification ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ?
ನಿಮ್ಮ ಇನ್ಪುಟ್ ಅನ್ನು ಅಂತರ್ನಿರ್ಮಿತ JSON.parse ಮತ್ತು JSON.stringify ಕಾರ್ಯಗಳು ಬಳಸಿ ಸಂಪೂರ್ಣವಾಗಿ ನಿಮ್ಮ ಬ್ರೌಸರ್ನಲ್ಲಿ ಸಂಸ್ಕರಿಸಲಾಗುತ್ತದೆ. ಉನ್ನತ-ಮಟ್ಟದ ಹಂತಗಳು:
- ನಿಮ್ಮ ಇನ್ಪುಟ್ ಅನ್ನು ಪಠ್ಯ ಪ್ರದೇಶದಿಂದ ಯಥಾವತ್ ಓದಲಾಗುತ್ತದೆ — ನೀವು ಅಂಟಿಸಿದ ಪ್ರತಿ ಬೈಟ್ ಸ್ಥಳೀಯ ಸ್ಮೃತಿಯಲ್ಲಿ ಇರಿಸಲ್ಪಡುತ್ತದೆ.
- ಬ್ರೌಸರ್
JSON.parseಮೂಲಕ ವಿಶ್ಲೇಷಿಸುತ್ತದೆ. ಇನ್ಪುಟ್ ಮಾನ್ಯ JSON ಅಲ್ಲದಿದ್ದರೆ, ವಿಶ್ಲೇಷಕ ಒಂದುSyntaxErrorಎಸೆಯುತ್ತದೆ, ಅದನ್ನು ಹಿಡಿದು ಯಥಾವತ್ ತೋರಿಸಲಾಗುತ್ತದೆ — ನಿಮ್ಮ ಪಠ್ಯ ಪುಟ ಬಿಡುವುದಿಲ್ಲ. - ವಿಶ್ಲೇಷಣ ಯಶಸ್ವಿಯಾದಾಗ, ವಿಶ್ಲೇಷಿಸಿದ ಮೌಲ್ಯವನ್ನು ಅಂತರ ವಾದ ಇಲ್ಲದೆ
JSON.stringify(value)ಮೂಲಕ ಮರುಹೊರಸೂಸಲಾಗುತ್ತದೆ — ಅದೇ ಮೌಲ್ಯದ ಅತ್ಯಂತ ಚಿಕ್ಕ ಮಾನ್ಯ ರೂಪ ಉತ್ಪಾದಿಸುತ್ತದೆ. - ಮೂಲ ಮತ್ತು ಮಿನಿಫೈ ಮಾಡಿದ ಪಠ್ಯ ಎರಡರ ಬೈಟ್ ಉದ್ದವನ್ನು
new TextEncoder().encode(...).byteLengthಮೂಲಕ ಲೆಕ್ಕ ಮಾಡಲಾಗುತ್ತದೆ — HTTP ಸರ್ವರ್ ತಂತಿ ಮೇಲೆ ನೋಡುವ ಅದೇ UTF-8 ಬೈಟ್ ಎಣಿಕೆ ಇದಾಗಿದೆ. - ಔಟ್ಪುಟ್ ಓದು-ಮಾತ್ರ ಪಠ್ಯ ಪ್ರದೇಶಕ್ಕೆ ಬರೆಯಲ್ಪಡುತ್ತದೆ, ಮಾಪನ ಪಟ್ಟಿ ಉಳಿತಾಯ ಶೇಕಡಾ ಸಮೇತ ಬೈಟ್ ವ್ಯತ್ಯಾಸ ವರದಿ ಮಾಡುತ್ತದೆ, ಮತ್ತು ಡೌನ್ಲೋಡ್ ಬಟನ್ ಫಲಿತಾಂಶವನ್ನು
.min.jsonಕಡತವಾಗಿ ಪ್ಯಾಕ್ ಮಾಡುತ್ತದೆ.
ಈ ಟೂಲ್ನಿಂದ JSON minify ಮಾಡುವ ಕಾರಣ?
- ಗೌಪ್ಯತೆ: ಪ್ರತಿ ವಿಶ್ಲೇಷಣ, ಮಿನಿಫೈ ಮತ್ತು ಮಾಪನ ಹಂತ ನಿಮ್ಮ ಬ್ರೌಸರ್ನಲ್ಲಿ ನಡೆಯುತ್ತದೆ. JSON ನಮ್ಮ ಸರ್ವರ್ಗಳನ್ನು ಎಂದಿಗೂ ತಲುಪುವುದಿಲ್ಲ — ಅಪ್ಲೋಡ್ ಇಲ್ಲ, ದತ್ತ ಸಂಗ್ರಹ ಇಲ್ಲ, ಖಾತೆ ಇಲ್ಲ.
- ನಿಜವಾದ ಬೈಟ್ ಸಂಖ್ಯೆಗಳು: ಮೂಲ ಗಾತ್ರ, ಮಿನಿಫೈ ಮಾಡಿದ ಗಾತ್ರ ಮತ್ತು ಉಳಿತಾಯ TextEncoder ಮೂಲಕ ಲೆಕ್ಕ ಮಾಡಲ್ಪಡುತ್ತವೆ, ಇದರಿಂದ CDN ಅಥವಾ API ಪ್ರವೇಶ ದ್ವಾರ ನಿಮ್ಮನ್ನು ಶುಲ್ಕ ವಿಧಿಸುವ ನಿಜವಾದ UTF-8 ಬೈಟ್ ವ್ಯತ್ಯಾಸ ನೀವು ನೋಡಬಹುದು.
- ಶೂನ್ಯ ಮಾಹಿತಿ ನಷ್ಟ: ಮಿನಿಫಿಕೇಶನ್ ಸಂಪೂರ್ಣ ಅಲಂಕಾರಿಕ — ಪ್ರತಿ ಮೌಲ್ಯ ಅದೇ JSON ವೃಕ್ಷಕ್ಕೆ ವಿಶ್ಲೇಷಿಸಲ್ಪಡುತ್ತದೆ, ಆದ್ದರಿಂದ ಉತ್ಪಾದನ ಮೊತ್ತಗಳು, ಪ್ರಕಟ ಕಡತಗಳು ಮತ್ತು ಅಳವಡಿಸಿದ ಮಾದರಿ ಡೇಟಾಗೆ ಸುರಕ್ಷಿತ.
- ವೇಗ: ಶುದ್ಧ
JSON.parse+JSON.stringifyಯಾವುದೇ ಬಾಹ್ಯ ಗ್ರಂಥಾಲಯಗಳಿಲ್ಲದೆ ವಿಶಿಷ್ಟ ಕ್ಲಿಪ್ಬೋರ್ಡ್-ಗಾತ್ರದ ಮೊತ್ತಗಳನ್ನು ತಕ್ಷಣ ನಿರ್ವಹಿಸುತ್ತದೆ.
JSON minification ನ ಸಾಮಾನ್ಯ ಅನ್ವಯಗಳು ಯಾವುವು?
JSON ನಿಂದ ಅನಗತ್ಯ ಖಾಲಿ ಜಾಗ ತೆಗೆಯುವುದು ಜಾಲ ಅಭಿವೃದ್ಧಿ, ಮಾಹಿತಿ ಎಂಜಿನಿಯರಿಂಗ್ ಮತ್ತು ಅಳವಡಿಸಿದ ವ್ಯವಸ್ಥೆಗಳಾದ್ಯಂತ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ:
- API ಮೊತ್ತ ಕಡಿತ: ಮಾಪನ ಮಾಡಿದ API ಪ್ರವೇಶ ದ್ವಾರ, ಶುಲ್ಕ ಹೊಂದಿರುವ ಹೊರಸಾರಿಗೆ ಕೊಂಡಿ ಅಥವಾ ಉಪಗ್ರಹ ಕೊಂಡಿ ದಾಟುವ ಮೊದಲು ವಿನಂತಿ ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆ ಪ್ರದೇಶಗಳನ್ನು ಸಂಕ್ಷಿಪ್ತಗೊಳಿಸಿ.
- HTML ನಲ್ಲಿ ಅಳವಡಿಸುವುದು: ಸುಂದರ-ಮುದ್ರಕ ಖಾಲಿ ಜಾಗ ರೆಂಡರ್ ಮಾಡಿದ ಪುಟಕ್ಕೆ ಸೋರದಂತೆ JSON ಬ್ಲಾಬ್ ಅನ್ನು
data-*ವಿಶೇಷಣ ಅಥವಾ<script type="application/json">ಟ್ಯಾಗ್ನಲ್ಲಿ ಸೇರಿಸಿ. - ಚಿಕ್ಕ localStorage: ಸುಂದರವಾಗಿ ಮುದ್ರಿಸಿದ JSON ಬದಲು ಮಿನಿಫೈ ಮಾಡಿದ JSON ಬರೆಯುವ ಮೂಲಕ localStorage / IndexedDB ಕೋಟಾ ಬಳಕೆ ಕಡಿಮೆ ಮಾಡಿ — ಇದು ಕಟ್ಟುನಿಟ್ಟಾದ ಮೂಲ-ಆಧಾರಿತ ಸಂಗ್ರಹ ಮಿತಿಗಳ ಮೊಬೈಲ್ ಬ್ರೌಸರ್ಗಳಲ್ಲಿ ವಿಶೇಷವಾಗಿ ಮೌಲ್ಯಯುತ.
JSON minification ಉದಾಹರಣೆ ಹೇಗೆ ಕಾಣುತ್ತದೆ?
ಸರಿಸುಮಾರು 1.2 KB ಸುಂದರವಾಗಿ ಮುದ್ರಿಸಿದ ಸಂರಚನಾ ಕಡತ (ಎರಡು-ಖಾಲಿ ಜಾಗ ಅಂತರ ಸಮೇತ ಸರಿಸುಮಾರು 1,225 ಬೈಟ್ಗಳು) ಅಂಟಿಸಿ ಮಿನಿಫೈ ಒತ್ತಿದರೆ ಸಾಮಾನ್ಯವಾಗಿ 0.4 KB ಗಿಂತ ಕಡಿಮೆಗೆ ಸಂಕ್ಷಿಪ್ತಗೊಳ್ಳುತ್ತದೆ — 66% ಉಳಿತಾಯ — ಪ್ರತಿ ಕೀ ಮತ್ತು ಮೌಲ್ಯ ನಿಖರವಾಗಿ ಉಳಿಯುತ್ತದೆ. ಡೌನ್ಲೋಡ್ ಮಾಡಬಹುದಾದ output.min.json ಕಡತ ಯಾವುದೇ ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಮಧ್ಯಸ್ಥ ಸಾಫ್ಟ್ವೇರ್ ಇಲ್ಲದೆ Content-Type: application/json ಕಳಿಸುವ HTTP ಸರ್ವರ್ ಔಟ್ಪುಟ್ಗೆ ಬೈಟ್-ಒಂದೇ.
ಇದು ನನ್ನ ಬ್ರೌಸರ್ನಲ್ಲಿ ಚಲಾಯಿಸಲ್ಪಡುತ್ತದೆಯೇ?
ಹೌದು. ಮಿನಿಫೈ ಪೈಪ್ಲೈನ್ ಶುದ್ಧ JSON.parse + JSON.stringify ಆಗಿದ್ದು ಬ್ರೌಸರ್ ಟ್ಯಾಬ್ನಲ್ಲಿ ಚಲಾಯಿಸಲ್ಪಡುತ್ತದೆ. ಏನೂ ಅಪ್ಲೋಡ್ ಆಗುವುದಿಲ್ಲ, ಸೇವಾ ಕಾರ್ಯಕರ್ತ ನಿಮ್ಮ ಇನ್ಪುಟ್ ಪ್ರಾಕ್ಸಿ ಮಾಡುವುದಿಲ್ಲ, ಮತ್ತು ಮಿನಿಫೈ ಹಂತದ ಸ್ವತಃ ಶೂನ್ಯ ಜಾಲ ವಿನಂತಿಗಳು. ನಿಮ್ಮ JSON Ultim8Soft ಅನ್ನು ಎಂದಿಗೂ ತಲುಪುವುದಿಲ್ಲ.
JSON minify ಏಕೆ ಮಾಡಬೇಕು?
ಮಿನಿಫೈ ಮಾಡಿದ JSON ಸುಂದರವಾಗಿ ಮುದ್ರಿಸಿದ ಮೂಲದಂತೆಯೇ ಅದೇ ಮೌಲ್ಯಕ್ಕೆ ವಿಶ್ಲೇಷಿಸಲ್ಪಡುತ್ತದೆ ಆದರೆ ತಂತಿ ಮೇಲೆ ಮತ್ತು ಸಂಗ್ರಹದಲ್ಲಿ ಚಿಕ್ಕದಾಗಿರುತ್ತದೆ. ಚಿಕ್ಕ ಮೊತ್ತಗಳು ಕಡಿಮೆ CDN ಹೊರಸಾರಿಗೆ ಬಿಲ್ಗಳು, ವೇಗದ ಮೊಬೈಲ್ ಡೌನ್ಲೋಡ್ಗಳು, ಸೇವಾ ಕಾರ್ಯಕರ್ತರ ಒಳಗೆ ಕಡಿಮೆ ಸ್ಮೃತಿ ಒತ್ತಡ ಮತ್ತು JWT ಮೊತ್ತಗಳು, ಅಳವಡಿಸಿದ HTML data-* ವಿಶೇಷಣಗಳು ಮತ್ತು localStorage ಕೋಟಾ ಮುಂತಾದ ನಿಗದಿತ-ಗಾತ್ರ ಕಟ್ಟುಗಳಲ್ಲಿ ಸರಿಯಾದ ಹೊಂದಾಣಿಕೆ ಅರ್ಥ. ಹೆಚ್ಚು-ಪ್ರಮಾಣದ API ಗಳಿಗೆ ಬೈಟ್ ಉಳಿತಾಯ ಕ್ರಮೇಣ ಸಂಗ್ರಹವಾಗುತ್ತದೆ — 1 GB/ದಿನ ಅಂತ್ಯಬಿಂದುವಿನಲ್ಲಿ 30% ಕಡಿತ ತಿಂಗಳಿಗೆ ಸರಿಸುಮಾರು 9 GB ಉಳಿಸುತ್ತದೆ.
Minification ಡೇಟಾ ಕಳೆದುಕೊಳ್ಳುತ್ತದೆಯೇ?
ಇಲ್ಲ. JSON ಮಿನಿಫಿಕೇಶನ್ ಕೇವಲ ಅಕ್ಷರ ಸರಣಿ ಹೊರಗೆ ಇರುವ ಖಾಲಿ ಜಾಗ ತೆಗೆಯುತ್ತದೆ — ಖಾಲಿ ಜಾಗ, ಟ್ಯಾಬ್ ಮತ್ತು ವಿಶೇಷಣ ಈಗಾಗಲೇ ಅನಗತ್ಯ ಎಂದು ವರ್ಗೀಕರಿಸಿದ ಹೊಸ ಸಾಲುಗಳು. ಪ್ರತಿ ಕೀ, ಮೌಲ್ಯ, ಸಂಖ್ಯೆ, ತಪ್ಪಿಸಿಕೊಳ್ಳುವ ಸರಣಿ ಮತ್ತು ಅಕ್ಷರ ಸರಣಿ ಅಕ್ಷರ ಬೈಟ್-ಮೇಲೆ-ಬೈಟ್ ಉಳಿಯುತ್ತದೆ. ಔಟ್ಪುಟ್ ಇನ್ಪುಟ್ಗೆ deepEqual ಆದ ಮೌಲ್ಯಕ್ಕೆ ವಿಶ್ಲೇಷಿಸಲ್ಪಡುತ್ತದೆ.
Formatter ಮತ್ತು Minifier ನಡುವೆ ವ್ಯತ್ಯಾಸ ಏನು?
ಸಹಯೋಗಿ JSON Formatter ವಿರುದ್ಧ ದಿಕ್ಕಿನಲ್ಲಿ ಹೋಗುತ್ತದೆ: ಮಾನವರು ಗೂಡಿನ ರಚನೆಗಳನ್ನು ಓದಬಹುದಾಗುವಂತೆ ಖಾಲಿ ಜಾಗ ವಿಸ್ತರಿಸುತ್ತದೆ. ಮಿನಿಫೈಯರ್ ಆ ಖಾಲಿ ಜಾಗ ಅನ್ನು ಸಾರಿಗೆ ಮತ್ತು ಸಂಗ್ರಹಕ್ಕಾಗಿ ಮರಳಿ ತೆಗೆಯುತ್ತದೆ. ಎರಡು ಉಪಕರಣಗಳು ಪರಸ್ಪರ ವ್ಯತಿರಿಕ್ತ — JSON ದಾಖಲೆಯನ್ನು ಫಾರ್ಮ್ಯಾಟರ್ → ಮಿನಿಫೈಯರ್ ಮೂಲಕ ಮೂಲ ಸ್ಥಿತಿಗೆ ಮರಳಿಸಿದರೆ ಮಿನಿಫೈಯರ್ ಶುರು ಮಾಡಿದ ಅದೇ ಬೈಟ್-ತಂತಿ ಸಿಗುತ್ತದೆ.
ಈ JSON ಮಿನಿಫೈಯರ್ ನಿಮ್ಮ Node.js, Deno ಅಥವಾ ಬ್ರೌಸರ್ ರನ್ಟೈಮ್ ಬಳಸುವ ಅದೇ ವಿಶ್ಲೇಷಕ ಬಳಸುತ್ತದೆ ಮತ್ತು ಸರಳ HTTP ಸರ್ವರ್ ಹೊರಸೂಸುವ ಔಟ್ಪುಟ್ಗೆ ಬೈಟ್-ಒಂದೇ ಆದ ಔಟ್ಪುಟ್ ತಯಾರಿಸುತ್ತದೆ. ಮೇಲೆ JSON ಅಂಟಿಸಿ, ಔಟ್ಪುಟ್ ನಕಲಿಸಿ, ಅಥವಾ .min.json ಆಗಿ ಡೌನ್ಲೋಡ್ ಮಾಡಿ.