ഈ ടൂളിനെ കുറിച്ച്
JSON ഫോർമാറ്റിംഗ് (പലപ്പോഴും പ്രെറ്റി-പ്രിൻറിംഗ് അല്ലെങ്കിൽ ബ്യൂട്ടിഫിക്കേഷൻ എന്ന് വിളിക്കുന്നു) കോംപാക്റ്റ് JSON എടുക്കുകയും വൈറ്റ്സ്പേസ് ചേർക്കുകയും ചെയ്യുന്നു - ലൈൻ ബ്രേക്കുകൾ, ഇൻഡൻ്റേഷൻ, സ്ഥിരമായ സ്പെയ്സിംഗ് - ഘടനയെ മനുഷ്യ വായനക്കാർക്ക് ദൃശ്യമാക്കാൻ. കോംപാക്റ്റ് JSON ആണ് സംപ്രേഷണത്തിനുള്ള ശരിയായ ഫോർമാറ്റ്: ഇത് വയറിലും സംഭരണത്തിലും ബൈറ്റുകൾ കുറയ്ക്കുന്നു. ഫോർമാറ്റ് ചെയ്ത JSON ആണ് പരിശോധനയ്ക്കുള്ള ശരിയായ ഫോർമാറ്റ്: ഇൻഡൻ്റ് ചെയ്ത ശ്രേണി ഒറ്റനോട്ടത്തിൽ നെസ്റ്റഡ് ഘടന വെളിപ്പെടുത്തുന്നു, വ്യത്യാസങ്ങൾ അർത്ഥപൂർണ്ണമാക്കുന്നു, കൂടാതെ ഡോക്യുമെൻ്റ് മാനസികമായി പാഴ്സ് ചെയ്യാതെ തന്നെ നിർദ്ദിഷ്ട ഫീൽഡുകൾ കണ്ടെത്താൻ ഡവലപ്പർമാരെ അനുവദിക്കുന്നു.
ഈ ഫോർമാറ്റർ ഇൻപുട്ട് സാധുതയുള്ളതാണെന്ന് സ്ഥിരീകരിക്കുന്നതിന് JSON ആയി പാഴ്സ് ചെയ്യുന്നു, തുടർന്ന് സ്ഥിരമായ ഇൻഡൻ്റേഷനോടെ അത് വീണ്ടും എമിറ്റ് ചെയ്യുന്നു. അസാധുവായ ഇൻപുട്ട് വാക്യഘടന പ്രശ്നത്തിലേക്ക് വിരൽ ചൂണ്ടുന്ന ഒരു പിശക് സൃഷ്ടിക്കുന്നു. ഉറവിടം എത്രമാത്രം ഒതുക്കമുള്ളതോ കുഴപ്പമോ ആയിരുന്നാലും സാധുവായ ഇൻപുട്ട് വീണ്ടും ഫോർമാറ്റ് ചെയ്യപ്പെടുന്നു. ഏറ്റവും സാധാരണമായ JavaScript കൺവെൻഷനുമായി പൊരുത്തപ്പെടുന്ന രണ്ട് സ്പെയ്സുകളിലേക്ക് ഇൻഡൻ്റേഷൻ ഡിഫോൾട്ട് ചെയ്യുന്നു.
ഫോർമാറ്റർ മിനിഫിക്കേഷനും (ഇൻവേഴ്സ് ഓപ്പറേഷൻ) വാഗ്ദാനം ചെയ്യുന്നു, ഇത് ഏറ്റവും ചെറിയ സാധുതയുള്ള JSON നിർമ്മിക്കുന്നതിന് അനാവശ്യമായ എല്ലാ വൈറ്റ്സ്പെയ്സും സ്ട്രിപ്പ് ചെയ്യുന്നു. മിനിഫൈഡ് ഔട്ട്പുട്ട് പ്രൊഡക്ഷൻ ട്രാൻസ്മിഷന് ഉപയോഗപ്രദമാണ്; ഫോർമാറ്റ് ചെയ്ത ഔട്ട്പുട്ട് വികസനത്തിനും ഡീബഗ്ഗിംഗിനും ഉപയോഗപ്രദമാണ്.
എന്തുകൊണ്ട് JSON ഫോർമാറ്റ് ചെയ്യുക
ഇൻഡൻ്റേഷൻ കൂടാതെ ആഴത്തിൽ നെസ്റ്റഡ് JSON വായിക്കുന്നത് അടിസ്ഥാനപരമായി അസാധ്യമാണ് - ഘടന സാങ്കേതികമായി നിലവിലുണ്ടെങ്കിലും അദൃശ്യമാണ്. മിതമായ സങ്കീർണ്ണമായ JSON പോലും ഫോർമാറ്റിംഗിൽ നിന്ന് വളരെയധികം പ്രയോജനം നേടുന്നു. കോഡ് അവലോകനം ചെയ്യുന്നവർ, API ഡീബഗ്ഗർമാർ, ഡാറ്റ പേലോഡ് മനസ്സിലാക്കാൻ ശ്രമിക്കുന്ന ആർക്കും യഥാർത്ഥത്തിൽ എന്താണ് ഉള്ളതെന്ന് കാണാൻ JSON ഫോർമാറ്റ് ചെയ്യേണ്ടതുണ്ട്.
ഫോർമാറ്റിംഗും പിശകുകൾ പിടിക്കുന്നു. ഫോർമാറ്റിംഗ് സമയത്ത് JSON പാഴ്സ് ചെയ്യുന്നതിൽ പരാജയപ്പെടുകയാണെങ്കിൽ, പിശക് സന്ദേശം വാക്യഘടന പ്രശ്നത്തിൻ്റെ കൃത്യമായ സ്ഥാനം തിരിച്ചറിയുന്നു - പലപ്പോഴും കാണാത്ത കോമ, ഉദ്ധരിക്കാത്ത കീ അല്ലെങ്കിൽ പ്രൊഡ്യൂസിംഗ് സിസ്റ്റം ഫ്ലാഗ് ചെയ്യാത്ത ഒരു സ്ട്രേ ട്രെയിലിംഗ് കോമ. ലഭ്യമായ ഏറ്റവും ലളിതമായ JSON വാലിഡേറ്ററാണ് ഫോർമാറ്റർ.
സാങ്കേതിക വിശദാംശങ്ങൾ
ഫോർമാറ്റർ JSON.parse, JSON.stringify എന്നിവ ഉപയോഗിക്കുന്നു, എല്ലാ JavaScript റൺടൈം ഷിപ്പുകളിലും ഒരേ ജോഡി. പാഴ്സിംഗ് RFC 8259 (നിലവിലെ JSON സ്പെക്ക്) പിന്തുടരുന്നു, കർശനമായ JSON അംഗീകരിക്കുന്നു, എന്നാൽ JavaScript ഒബ്ജക്റ്റ് ലിറ്ററലുകൾ, അഭിപ്രായങ്ങൾ, ട്രെയിലിംഗ് കോമകൾ, മറ്റ് JSON5 വിപുലീകരണങ്ങൾ എന്നിവ നിരസിക്കുന്നു.
JSON.stringify ഒരു ഇൻഡൻ്റ് ആർഗ്യുമെൻ്റ് സ്വീകരിക്കുന്നു: ഒരു നമ്പർ (സ്പെയ്സ്) അല്ലെങ്കിൽ സ്ട്രിംഗ് (ഒരു ടാബ് പോലുള്ള ഇഷ്ടാനുസൃത ഇൻഡൻ്റ് പ്രതീകം). ഫോർമാറ്റർ രണ്ട് ഓപ്ഷനുകളും തുറന്നുകാട്ടുന്നു. ഒബ്ജക്റ്റുകൾക്കായുള്ള ഉറവിട ക്രമത്തിലാണ് ഔട്ട്പുട്ട് അടുക്കുന്നത് (ഇഎസ്2015 എല്ലാ പ്രധാന എഞ്ചിനുകളിലും പ്രോപ്പർട്ടി ഇൻസേർഷൻ ഓർഡർ സംരക്ഷിച്ചിരിക്കുന്നതിനാൽ).
എഡ്ജ് കേസുകൾ: നമ്പറിനപ്പുറമുള്ള വലിയ സംഖ്യകൾ. MAX_SAFE_INTEGER പാഴ്സ് ചെയ്യുമ്പോൾ കൃത്യത നഷ്ടപ്പെടും (അറിയാവുന്ന JSON പരിമിതി; 2^53 കവിയുന്ന ഐഡികൾക്കായി സ്ട്രിംഗ് മൂല്യങ്ങൾ ഉപയോഗിക്കുക). സ്ട്രിംഗുകളിലെ യൂണികോഡ് എസ്കേപ്പുകൾ അക്ഷരാർത്ഥത്തിൽ സംരക്ഷിക്കപ്പെടുന്നു. ഓരോ വരിയിൽ നിന്നും ട്രെയിലിംഗ് വൈറ്റ്സ്പെയ്സ് നീക്കം ചെയ്യപ്പെടുന്നു.
പതിവ് ചോദ്യങ്ങള്
- ഏത് തരത്തിലുള്ള JSON പിശകുകളാണ് ഈ ഉപകരണം കണ്ടെത്തുന്നത്?
- RFC 8259 JSON സ്പെസിഫിക്കേഷൻ അനുസരിച്ച് നഷ്ടപ്പെട്ട കോമകൾ, പൊരുത്തപ്പെടാത്ത ബ്രാക്കറ്റുകൾ/ബ്രേസുകൾ, അസാധുവായ സ്ട്രിംഗ് എസ്കേപ്പിംഗ്, ട്രെയിലിംഗ് കോമകൾ, സിംഗിൾ-ക്വോട്ട്ഡ് സ്ട്രിംഗുകൾ, മറ്റ് വാക്യഘടന ലംഘനങ്ങൾ എന്നിവ ഉപകരണം കണ്ടെത്തുന്നു.
- ഇതിന് വളരെ വലിയ JSON ഫയലുകൾ കൈകാര്യം ചെയ്യാൻ കഴിയുമോ?
- അതെ. നേറ്റീവ് JavaScript പാഴ്സിംഗ് ഉപയോഗിച്ച് ഫോർമാറ്റർ നിങ്ങളുടെ ബ്രൗസറിൽ JSON പ്രോസസ്സ് ചെയ്യുന്നു, അതിനാൽ ഇത് നിരവധി മെഗാബൈറ്റുകൾ വരെയുള്ള ഫയലുകൾ കാര്യക്ഷമമായി കൈകാര്യം ചെയ്യുന്നു. വളരെ വലിയ ഫയലുകൾക്ക് (50MB+), പ്രോസസ്സിംഗ് സമയം നിങ്ങളുടെ ഉപകരണത്തെ ആശ്രയിച്ചിരിക്കുന്നു.
- അഭിപ്രായങ്ങൾ (JSONC) ഉള്ള JSON-നെ ഇത് പിന്തുണയ്ക്കുന്നുണ്ടോ?
- സ്റ്റാൻഡേർഡ് JSON അഭിപ്രായങ്ങൾ അനുവദിക്കുന്നില്ല. നിങ്ങളുടെ ഇൻപുട്ടിൽ അഭിപ്രായങ്ങൾ അടങ്ങിയിട്ടുണ്ടെങ്കിൽ, വാലിഡേറ്റർ അവയെ പിശകുകളായി ഫ്ലാഗ് ചെയ്യും. JSONC പിന്തുണയ്ക്കായി, ഫോർമാറ്റ് ചെയ്യുന്നതിന് മുമ്പ് അഭിപ്രായങ്ങൾ നീക്കം ചെയ്യുക.
- ഫോർമാറ്റിംഗ് എൻ്റെ ഡാറ്റ മൂല്യങ്ങളെ മാറ്റുമോ?
- No. Formatting only adjusts whitespace and indentation — your data types, values, and structure remain exactly the same.
- JSON5 ഫീച്ചറുകൾ പിന്തുണയ്ക്കുന്നുണ്ടോ (അഭിപ്രായങ്ങൾ, കോമകൾ)?
- നമ്പർ. ഫോർമാറ്റർ RFC 8259 കർശനമായി പിന്തുടരുന്നു. JSON5 സവിശേഷതകൾ പാഴ്സ് പിശകുകൾക്ക് കാരണമാകുന്നു. JSON5-നൊപ്പം പ്രവർത്തിക്കാൻ, JSON5 പാർസർ ഉപയോഗിച്ച് ആദ്യം സ്റ്റാൻഡേർഡ് JSON-ലേക്ക് പരിവർത്തനം ചെയ്യുക.
- എൻ്റെ JSON ഒരു സെർവറിലേക്ക് അപ്ലോഡ് ചെയ്തിട്ടുണ്ടോ?
- ഇല്ല. ബിൽറ്റ്-ഇൻ JSON ഫംഗ്ഷനുകൾ ഉപയോഗിച്ച് പാഴ്സിംഗും ഫോർമാറ്റിംഗും പൂർണ്ണമായും നിങ്ങളുടെ ബ്രൗസറിൽ നടക്കുന്നു.
- വലിയ സംഖ്യകൾക്ക് കൃത്യത നഷ്ടപ്പെടുമോ?
- JavaScript സംഖ്യകളെ 64-ബിറ്റ് ഫ്ലോട്ടുകളായി പ്രതിനിധീകരിക്കുന്നു, അതിനാൽ 2^53 (ഏകദേശം 9 ക്വാഡ്രില്യൺ) മുകളിലുള്ള പൂർണ്ണസംഖ്യകൾക്ക് കൃത്യത നഷ്ടപ്പെടും. ഐഡികൾക്കോ മറ്റ് വലിയ പൂർണ്ണസംഖ്യ മൂല്യങ്ങൾക്കോ വേണ്ടി, അവ JSON-ൽ സ്ട്രിംഗുകളായി സംഭരിക്കുക.
- എനിക്ക് കീകൾ അക്ഷരമാലാക്രമത്തിൽ അടുക്കാൻ കഴിയുമോ?
- JSON.stringify കീകൾ അടുക്കുന്നില്ല. കീകൾ സ്ട്രിംഗ് ചെയ്യുന്നതിന് മുമ്പ് അക്ഷരമാലാക്രമത്തിൽ ക്രമീകരിക്കുന്നതിന് ഒരു പ്രത്യേക സോർട്ട് സ്റ്റെപ്പ് (അല്ലെങ്കിൽ സോർട്ടിംഗ് പിന്തുണയുള്ള ഫോർമാറ്റർ) ഉപയോഗിക്കുക.