இந்த கருவி பற்றி
JSON வடிவமைத்தல் (பெரும்பாலும் அழகான அச்சிடுதல் அல்லது அழகுபடுத்துதல் என்று அழைக்கப்படுகிறது) கச்சிதமான JSON ஐ எடுத்து, இடைவெளியை சேர்க்கிறது - வரி முறிவுகள், உள்தள்ளல், நிலையான இடைவெளி - கட்டமைப்பை மனித வாசகர்களுக்குத் தெரியும். காம்பாக்ட் JSON என்பது பரிமாற்றத்திற்கான சரியான வடிவம்: இது கம்பி மற்றும் சேமிப்பகத்தின் மீது பைட்டுகளைக் குறைக்கிறது. வடிவமைக்கப்பட்ட JSON ஆய்வுக்கான சரியான வடிவமாகும்: உள்தள்ளப்பட்ட படிநிலையானது உள்ளமைக்கப்பட்ட கட்டமைப்பை ஒரே பார்வையில் வெளிப்படுத்துகிறது, வேறுபாடுகளை அர்த்தமுள்ளதாக மாற்றுகிறது, மேலும் ஆவணத்தை மனதளவில் பாகுபடுத்தாமல் குறிப்பிட்ட புலங்களைக் கண்டறிய டெவலப்பர்களை அனுமதிக்கிறது.
இந்த ஃபார்மேட்டர் உள்ளீட்டை JSON ஆகப் பாகுபடுத்தி, அது செல்லுபடியாகும் என்பதை உறுதிப்படுத்துகிறது, பின்னர் நிலையான உள்தள்ளலுடன் அதை மீண்டும் வெளியிடுகிறது. தவறான உள்ளீடு தொடரியல் சிக்கலைச் சுட்டிக்காட்டும் பிழையை உருவாக்குகிறது. மூலமானது எவ்வளவு கச்சிதமாக அல்லது குழப்பமாக இருந்தாலும் சரியான உள்ளீடு மறுவடிவமைக்கப்படுகிறது. மிகவும் பொதுவான ஜாவாஸ்கிரிப்ட் கன்வென்ஷனுடன் பொருந்திய இரண்டு இடைவெளிகளுக்கு உள்தள்ளல் இயல்புநிலையாக இருக்கும்.
ஃபார்மேட்டர் மினிஃபிகேஷன் (தலைகீழ் செயல்பாடு) வழங்குகிறது, இது சிறிய செல்லுபடியாகும் JSON ஐ உருவாக்க அனைத்து தேவையற்ற இடைவெளிகளையும் நீக்குகிறது. உற்பத்தி பரிமாற்றத்திற்கு சிறிய வெளியீடு பயனுள்ளதாக இருக்கும்; வடிவமைக்கப்பட்ட வெளியீடு வளர்ச்சி மற்றும் பிழைத்திருத்தத்திற்கு பயனுள்ளதாக இருக்கும்.
ஏன் JSON ஐ வடிவமைக்கவும்
உள்தள்ளல் இல்லாமல் ஆழமாக உள்ளமைக்கப்பட்ட JSON ஐப் படிப்பது அடிப்படையில் சாத்தியமற்றது - கட்டமைப்பு தொழில்நுட்ப ரீதியாக உள்ளது ஆனால் கண்ணுக்கு தெரியாதது. மிதமான சிக்கலான JSON கூட வடிவமைப்பதில் இருந்து பெரிதும் பயனடைகிறது. குறியீடு மதிப்பாய்வாளர்கள், API பிழைத்திருத்தங்கள் மற்றும் தரவு பேலோடைப் புரிந்துகொள்ள முயற்சிக்கும் எவருக்கும் உண்மையில் என்ன இருக்கிறது என்பதைப் பார்க்க JSON வடிவமைக்கப்பட வேண்டும்.
வடிவமைத்தல் பிழைகளையும் பிடிக்கிறது. வடிவமைப்பின் போது JSON பாகுபடுத்தத் தவறினால், பிழைச் செய்தி தொடரியல் சிக்கலின் சரியான நிலையைக் கண்டறியும் - பெரும்பாலும் காணாமல் போன காற்புள்ளி, மேற்கோள் காட்டப்படாத விசை அல்லது உற்பத்தி செய்யும் அமைப்பு கொடியிடாத தவறான பின்னிணைந்த கமா. ஃபார்மேட்டர் என்பது மிக எளிமையான JSON வேலிடேட்டராகும்.
தொழில்நுட்ப விவரங்கள்
ஃபார்மேட்டர் JSON.parse மற்றும் JSON.stringify ஆகியவற்றைப் பயன்படுத்துகிறது, ஒவ்வொரு ஜாவாஸ்கிரிப்ட் இயக்க நேரத்திலும் ஒரே ஜோடி. பாகுபடுத்துதல் RFC 8259 (தற்போதைய JSON விவரக்குறிப்பு) ஐப் பின்பற்றுகிறது, ஆனால் கடுமையான JSON ஐ ஏற்றுக்கொள்கிறது, ஆனால் JavaScript ஆப்ஜெக்ட் லிட்டரல்கள், கருத்துகள், ட்ரைலிங் காற்புள்ளிகள் மற்றும் பிற JSON5 நீட்டிப்புகளை நிராகரிக்கிறது.
JSON.stringify ஒரு உள்தள்ளல் வாதத்தை ஏற்றுக்கொள்கிறது: ஒரு எண் (இடைவெளிகள்) அல்லது சரம் (தாவல் போன்ற தனிப்பயன் உள்தள்ளல் எழுத்து). ஃபார்மேட்டர் இரண்டு விருப்பங்களையும் வெளிப்படுத்துகிறது. பொருள்களுக்கான மூல வரிசையில் வெளியீடு வரிசைப்படுத்தப்படுகிறது (ES2015 அனைத்து முக்கிய இயந்திரங்களிலும் சொத்து செருகும் வரிசையை பாதுகாக்கிறது).
எட்ஜ் கேஸ்கள்: எண்ணைத் தாண்டிய பெரிய எண்கள். MAX_SAFE_INTEGER பாகுபடுத்தும் போது துல்லியத்தை இழக்கின்றன (தெரிந்த JSON வரம்பு; 2^53 ஐத் தாண்டிய ஐடிகளுக்கு சர மதிப்புகளைப் பயன்படுத்தவும்). சரங்களில் யூனிகோட் தப்பிக்கும் வார்த்தைகள் அப்படியே பாதுகாக்கப்படுகின்றன. ஒவ்வொரு வரியிலிருந்தும் பின்தங்கிய இடைவெளி அகற்றப்படுகிறது.
அடிக்கடி கேட்கப்படும் கேள்விகள்
- எந்த வகையான JSON பிழைகளை இந்தக் கருவி கண்டறியும்?
- RFC 8259 JSON விவரக்குறிப்பின்படி காணாமல் போன காற்புள்ளிகள், பொருந்தாத அடைப்புக்குறிகள்/பிரேஸ்கள், செல்லாத சரம் எஸ்கேப்பிங், டிரெயிலிங் காற்புள்ளிகள், ஒற்றை மேற்கோள் சரங்கள் மற்றும் பிற தொடரியல் மீறல்கள் ஆகியவற்றைக் கருவி கண்டறியும்.
- மிகப் பெரிய JSON கோப்புகளைக் கையாள முடியுமா?
- ஆம். ஃபார்மேட்டர், சொந்த ஜாவாஸ்கிரிப்ட் பாகுபடுத்தலைப் பயன்படுத்தி உங்கள் உலாவியில் JSON ஐ செயலாக்குகிறது, எனவே இது பல மெகாபைட்கள் வரையிலான கோப்புகளை திறமையாக கையாளுகிறது. மிகப் பெரிய கோப்புகளுக்கு (50MB+), செயலாக்க நேரம் உங்கள் சாதனத்தைப் பொறுத்தது.
- கருத்துகளுடன் (JSONC) JSON ஐ ஆதரிக்கிறதா?
- நிலையான JSON கருத்துகளை அனுமதிக்காது. உங்கள் உள்ளீட்டில் கருத்துகள் இருந்தால், மதிப்பீட்டாளர் அவற்றை பிழைகள் எனக் கொடியிடுவார். JSONC ஆதரவிற்கு, வடிவமைப்பதற்கு முன் கருத்துகளை அகற்றவும்.
- வடிவமைப்பது எனது தரவு மதிப்புகளை மாற்றுமா?
- இல்லை. வடிவமைத்தல் இடைவெளி மற்றும் உள்தள்ளலை மட்டுமே சரிசெய்கிறது - உங்கள் தரவு வகைகள், மதிப்புகள் மற்றும் கட்டமைப்பு சரியாக இருக்கும்.
- JSON5 அம்சங்கள் ஆதரிக்கப்படுகின்றனவா (கருத்துகள், காற்புள்ளிகள்)?
- எண். வடிவமைப்பானது RFC 8259 ஐ கண்டிப்பாக பின்பற்றுகிறது. JSON5 அம்சங்கள் பாகுபடுத்தும் பிழைகளை ஏற்படுத்துகின்றன. JSON5 உடன் பணிபுரிய, முதலில் JSON5 பாகுபடுத்தியைப் பயன்படுத்தி நிலையான JSONக்கு மாற்றவும்.
- எனது JSON சேவையகத்தில் பதிவேற்றப்பட்டதா?
- இல்லை. பாகுபடுத்துதல் மற்றும் வடிவமைத்தல் ஆகியவை உள்ளமைக்கப்பட்ட JSON செயல்பாடுகளைப் பயன்படுத்தி முழுமையாக உங்கள் உலாவியில் நடக்கும்.
- பெரிய எண்கள் துல்லியத்தை இழக்குமா?
- ஜாவாஸ்கிரிப்ட் எண்களை 64-பிட் மிதவைகளாகக் குறிக்கிறது, எனவே 2^53 (சுமார் 9 குவாட்ரில்லியன்) மேல் உள்ள முழு எண்கள் துல்லியத்தை இழக்கின்றன. ஐடிகள் அல்லது பிற பெரிய முழு எண் மதிப்புகளுக்கு, அவற்றை JSON இல் சரங்களாகச் சேமிக்கவும்.
- விசைகளை அகரவரிசைப்படி வரிசைப்படுத்த முடியுமா?
- JSON.stringify விசைகளை வரிசைப்படுத்தாது. விசைகளை அகரவரிசைப்படுத்துவதற்கு முன், தனி வரிசைப் படியைப் பயன்படுத்தவும் (அல்லது வரிசைப்படுத்தும் ஆதரவுடன் ஒரு வடிவமைப்பை) பயன்படுத்தவும்.