Tech Help
സാധാരണ JSON പിശകുകൾ: അവസാന കോമ, ഉദ്ധരണി, Unexpected token
അസാധുവായ JSON ശരിയാക്കുക: അവസാന കോമ, ഒറ്റ ഉദ്ധരണി, ഉദ്ധരണിയില്ലാത്ത കീകൾ, Unexpected token. JSON.parse എന്തുകൊണ്ട് പരാജയപ്പെടുന്നു, JSON എങ്ങനെ പരിശോധിക്കാം.
മിക്ക JSON പിശകുകളും കർശന നിയമങ്ങളിൽ നിന്ന് വരുന്നു: അവസാന കോമ, ഒറ്റ ഉദ്ധരണി, ഉദ്ധരണിയില്ലാത്ത പ്രോപ്പർട്ടി പേരുകൾ, കാണാത്ത കോമ, പൊരുത്തമില്ലാത്ത ബ്രാക്കറ്റുകൾ, തെറ്റായ എസ്കേപ്പ്, അല്ലെങ്കിൽ അഭിപ്രായങ്ങൾ.
JSON JavaScript ഒബ്ജക്റ്റ് പോലെ കാണപ്പെടുന്നു, പക്ഷേ കർശനമാണ്. പ്രോപ്പർട്ടി പേരുകൾക്കും സ്ട്രിംഗുകൾക്കും ഇരട്ട ഉദ്ധരണി വേണം.
Unexpected token കണ്ടാൽ, റിപ്പോർട്ട് ചെയ്ത അക്ഷരം പാഴ്സ് നിന്ന സ്ഥലമായിരിക്കാം—യഥാർത്ഥ തെറ്റ് തുടങ്ങിയ സ്ഥലമല്ല എപ്പോഴും.
നിങ്ങളുടെ JSON അസാധുവെന്ന് അടയാളപ്പെടുത്തിയിരിക്കുന്നു. സാധാരണ ചെറിയ വ്യാകരണ പ്രശ്നം, തകർന്ന ഫയൽ ഫോർമാറ്റല്ല. താഴെയുള്ള ഏഴ് തെറ്റുകൾ മിക്ക Unexpected token ഉണ്ടാക്കുന്നു.
JSON എന്തുകൊണ്ട് ഇത്ര എളുപ്പം തകരുന്നു?
JSON കർശന വ്യാകരണമുള്ള ഡാറ്റ ഫോർമാറ്റാണ്. JavaScript ഒബ്ജക്റ്റ് ലിറ്ററൽ സമാനമായി കാണപ്പെട്ടിട്ടും അസാധുവായ JSON ആകാം. സ്റ്റാൻഡേർഡ് JSON-ൽ പ്രോപ്പർട്ടി പേരുകൾക്കും സ്ട്രിംഗുകൾക്കും ഇരട്ട ഉദ്ധരണി വേണം, അവസാന കോമ അനുവദനീയമല്ല, അഭിപ്രായങ്ങൾ ഫോർമാറ്റിന്റെ ഭാഗമല്ല.
1. അവസാന കോമകൾ
അവസാന പ്രോപ്പർട്ടിക്ക് ശേഷമുള്ള അധിക കോമയാണ് പ്രശ്നം. സ്റ്റാൻഡേർഡ് JSON അത് അനുവദിക്കുന്നില്ല.
അസാധു
{
"name": "Alex",
"age": 30,
}
സാധു
{
"name": "Alex",
"age": 30
}
അതേ നിയമം അറേകൾക്കും. അവസാന ഇനത്തിന് ശേഷം കോമ നീക്കം ചെയ്യുക.
അസാധു
[
"red",
"green",
]
സാധു
[
"red",
"green"
]
2. ഇരട്ടയ്ക്ക് പകരം ഒറ്റ ഉദ്ധരണി
JavaScript പലപ്പോഴും ഒറ്റ ഉദ്ധരണി സ്വീകരിക്കുന്നു. JSON സ്വീകരിക്കുന്നില്ല. പ്രോപ്പർട്ടി പേരുകളും സ്ട്രിംഗ് മൂല്യങ്ങളും ഇരട്ട ഉദ്ധരണി ഉപയോഗിക്കണം.
അസാധു
{
'name': 'Alex'
}
സാധു
{
"name": "Alex"
}
3. ഉദ്ധരണിയില്ലാത്ത പ്രോപ്പർട്ടി പേരുകൾ
JavaScript-ൽ ചിലപ്പോൾ name ഉദ്ധരണി കൂടാതെ എഴുതാം. JSON-ൽ ഓരോ പ്രോപ്പർട്ടി പേരും ഇരട്ട-ഉദ്ധരണി സ്ട്രിംഗ് ആയിരിക്കണം.
അസാധു
{
name: "Alex",
age: 30
}
സാധു
{
"name": "Alex",
"age": 30
}
4. മൂല്യങ്ങൾക്കിടയിൽ കാണാത്ത കോമ
പ്രോപ്പർട്ടികൾക്കും അറേ ഇനങ്ങൾക്കും ഇടയിൽ കോമ വേണം. പാഴ്സർ അടുത്ത ഉദ്ധരണിയിലോ ബ്രേസിലോ Unexpected token റിപ്പോർട്ട് ചെയ്തേക്കാം, കാണാത്ത കോമയിലല്ല.
അസാധു
{
"name": "Alex"
"age": 30
}
സാധു
{
"name": "Alex",
"age": 30
}
5. കുറവോ കൂടുതലോ ബ്രാക്കറ്റുകൾ
ഒബ്ജക്റ്റുകൾ { } ഉപയോഗിക്കുന്നു. അറേകൾ [ ]. നെസ്റ്റഡ് JSON പലപ്പോഴും പരാജയപ്പെടുന്നു: ] ഇല്ല, } കൂടുതൽ, അല്ലെങ്കിൽ രണ്ടും മാറിയാൽ. തുറക്കൽ-അടയ്ക്കൽ ജോഡികൾ എണ്ണുക.
അസാധു
{
"items": [1, 2
}
സാധു
{
"items": [1, 2]
}
6. അസാധുവായ എസ്കേപ്പ് ക്രമങ്ങൾ
JSON സ്ട്രിംഗിൽ ബാക്ക്സ്ലാഷ് എസ്കേപ്പ് ആരംഭിക്കുന്നു. " , \ ഒപ്പം \n പോലുള്ള ക്രമങ്ങൾ സാധുവാണ്. C:\Users എന്ന് എഴുതിയ Windows പാത്ത് അല്ല: \U നിയമപരമായ JSON എസ്കേപ്പ് അല്ല. ബാക്ക്സ്ലാഷുകൾ ഇരട്ടിയാക്കുക, അല്ലെങ്കിൽ പാഴ്സർ ആ അക്ഷരത്തിൽ നിൽക്കും.
അസാധു
{"file":"C:\Users\Alex"}
സാധു
{"file":"C:\\Users\\Alex"}
7. JSON-നുള്ളിലെ അഭിപ്രായങ്ങൾ
സ്റ്റാൻഡേർഡ് JSON-ൽ അഭിപ്രായമില്ല. ചില കോൺഫിഗ് ടൂളുകൾ // അല്ലെങ്കിൽ /* */ സ്വീകരിക്കുന്നു (JSONC, JSON5 മുതലായവ). അത് സ്റ്റാൻഡേർഡ് JSON അല്ല, JSON.parse നിരസിക്കും.
അസാധു
{
// user name
"name": "Alex"
}
Unexpected token എന്താണ് അർത്ഥമാക്കുന്നത്?
പാഴ്സർ ആ സ്ഥാനത്ത് അനുവദനീയമല്ലാത്ത അക്ഷരം കണ്ടു. റിപ്പോർട്ട് ചെയ്ത സ്ഥലം വായന നിന്ന സ്ഥലമാണ്. മുമ്പ് കോമ ഒഴിവാക്കിയാൽ, പിശക് അടുത്ത പ്രോപ്പർട്ടിയുടെ ഉദ്ധരണി ചൂണ്ടിക്കാണിച്ചേക്കാം. വാക്കുകൾ റൺടൈമിനനുസരിച്ച് മാറുന്നു; ഓരോ ബ്രൗസറും അതേ വാക്യം അച്ചടിക്കുമെന്ന് പ്രതീക്ഷിക്കരുത്.
Unexpected end of JSON input എന്താണ് അർത്ഥമാക്കുന്നത്?
മൂല്യം പൂർത്തിയാകുന്നതിന് മുമ്പ് ടെക്സ്റ്റ് അവസാനിച്ചു. സാധാരണ കാരണങ്ങൾ: } അല്ലെങ്കിൽ ] ഇല്ല, മുറിച്ച ഇൻപുട്ട്, ശൂന്യമായ ബോഡി, അല്ലെങ്കിൽ മുറിഞ്ഞ API പ്രതികരണം. ഒറ്റ ബഗ് അല്ല.
JSON.parse() എന്തുകൊണ്ട് പരാജയപ്പെടുന്നു?
JSON.parse() സാധുവായ JSON ടെക്സ്റ്റ് മാത്രം സ്വീകരിക്കുന്നു. ഇത് വിജയം:
const text = '{"name":"Alex"}';
const data = JSON.parse(text);
ഇത് പരാജയം, കാരണം ഒറ്റ ഉദ്ധരണി JSON അല്ല:
const text = "{'name':'Alex'}";
JSON.parse(text);
കൃത്യമായ പിശക് സന്ദേശം JavaScript റൺടൈമിനെ ആശ്രയിച്ചിരിക്കുന്നു. സന്ദേശം സൂചനയായി കാണുക, പിന്നെ ആ സ്ഥാനത്തിനടുത്ത് കോമ, ഉദ്ധരണി, ബ്രാക്കറ്റുകൾ പരിശോധിക്കുക.
JavaScript ഒബ്ജക്റ്റ് ലിറ്ററൽ { name: 'Alex' } പോലെ കാണപ്പെടാം. സാധുവായ JSON { "name": "Alex" } പോലെ ആയിരിക്കണം: ഇരട്ട-ഉദ്ധരണി പേരുകളും സ്ട്രിംഗുകളും, അവസാന കോമ ഇല്ല, അഭിപ്രായമില്ല.
- JSON ടെക്സ്റ്റ്
- പാഴ്സർ ടോക്കണുകൾ വായിക്കുന്നു
- സാധുവായ ഡാറ്റ അല്ലെങ്കിൽ Unexpected token
JSON പിശക് വേഗത്തിൽ എങ്ങനെ കണ്ടെത്താം
ഈ ക്രമത്തിൽ ചെയ്യുക. മുഴുവൻ ഫയലും വീണ്ടും എഴുതി തുടങ്ങരുത്.
- JSON ഒരു വാലിഡേറ്ററിലൂടെ ഓടിക്കുക.
- ആദ്യം റിപ്പോർട്ട് ചെയ്ത പിശക് വായിക്കുക.
- റിപ്പോർട്ട് ചെയ്ത സ്ഥാനത്തിന് അൽപ്പം മുമ്പ് നോക്കുക.
- കോമകൾ പരിശോധിക്കുക, പ്രത്യേകിച്ച് അവസാനവും കാണാത്തവയും.
- ഉദ്ധരണികൾ പരിശോധിക്കുക: ഇരട്ട മാത്രം.
- { } ഒപ്പം [ ] പൊരുത്തപ്പെടുത്തുക.
- സ്ട്രിംഗുകളിലെ ബാക്ക്സ്ലാഷ് എസ്കേപ്പ് പരിശോധിക്കുക.
- കർശന JSON വേണമെങ്കിൽ അഭിപ്രായങ്ങൾ നീക്കം ചെയ്യുക.
സാധാരണ തിരുത്തലുകളുടെ ദ്രുത മാപ്പ്:
| പ്രശ്നം | തിരുത്തൽ |
|---|---|
| അവസാന കോമ | അവസാന ഇനത്തിന് ശേഷം കോമ മായ്ക്കുക. |
| ഒറ്റ ഉദ്ധരണി | പേരുകൾക്കും സ്ട്രിംഗുകൾക്കും ഇരട്ട ഉദ്ധരണി ഉപയോഗിക്കുക. |
| ഉദ്ധരണിയില്ലാത്ത കീ | പ്രോപ്പർട്ടി പേര് ഇരട്ട ഉദ്ധരണിയിൽ പൊതിയുക. |
| കാണാത്ത കോമ | പ്രോപ്പർട്ടികൾക്കോ അറേ ഇനങ്ങൾക്കോ ഇടയിൽ കോമ വയ്ക്കുക. |
| കാണാത്ത ബ്രാക്കറ്റ് | ഓരോ { } ഒപ്പം [ ] ജോഡിയും അടയ്ക്കുക. |
| അസാധുവായ എസ്കേപ്പ് | നിയമപരമായ എസ്കേപ്പ് ഉപയോഗിക്കുക, അല്ലെങ്കിൽ പാതകളിൽ ബാക്ക്സ്ലാഷ് ഇരട്ടിയാക്കുക. |
| അഭിപ്രായം | സ്റ്റാൻഡേർഡ് JSON-ന് // ഒപ്പം /* */ നീക്കം ചെയ്യുക. |
ബ്രൗസറിൽ JSON പരിശോധിച്ച് ഫോർമാറ്റ് ചെയ്യുക
NEXNARA JSON ക്രമീകരിക്കുക / Diff ഈ ഉപകരണത്തിൽ JSON പരിശോധിക്കാം.
നിങ്ങൾക്ക് പരിശോധിക്കാം, 2 സ്പേസ്, 4 സ്പേസ് അല്ലെങ്കിൽ ടാബ് കൊണ്ട് മനോഹരമാക്കാം, minify, രണ്ട് ഡോക്യുമെന്റുകൾ താരതമ്യം ചെയ്യാം (JSON Diff), .json ഫയൽ തുറക്കാം. പാഴ്സ് ബ്രൗസറിൽ JSON.parse ഉപയോഗിക്കുന്നു, eval അല്ല.
5 MB-യിൽ വലിയ ഡോക്യുമെന്റുകൾ മന്ദഗതിയിലായേക്കാം. 15 MB-യിൽ വലിയ ടെക്സ്റ്റ് ബ്രൗസറിൽ പ്രോസസ് ചെയ്യില്ല, പേജ് പ്രതികരിക്കാനായി.
JSON പ്രോസസിങ് നിങ്ങളുടെ ബ്രൗസറിലാണ് നടക്കുന്നത്. ഈ ടൂളിനായി ടെക്സ്റ്റ് NEXNARA സെർവറിലേക്ക് അയയ്ക്കുന്നില്ല. പരസ്യങ്ങളും മറ്റ് സൈറ്റ് സവിശേഷതകളും ഇപ്പോഴും നെറ്റ്വർക്ക് ഉപയോഗിക്കുന്നു; അത് പ്രോസസിങ്ങിൽ നിന്ന് വേറെയാണ്.
അസാധുവായ JSON പരിശോധിക്കണോ? JSON ക്രമീകരിക്കുക / Diff തുറന്ന് ടെക്സ്റ്റ് ഒട്ടിക്കുക.
FAQ
എന്റെ JSON Unexpected token എന്തുകൊണ്ട് പറയുന്നു?
പാഴ്സർ അവിടെ അനുവദനീയമല്ലാത്ത അക്ഷരം കണ്ടു. യഥാർത്ഥ തെറ്റ്—പലപ്പോഴും കാണാത്ത കോമ അല്ലെങ്കിൽ ഒറ്റ ഉദ്ധരണി—ആ സ്ഥാനത്തിന് തൊട്ടുമുമ്പ് ഇരിക്കാം.
JSON-ൽ അവസാന കോമ അനുവദനീയമാണോ?
ഇല്ല. സ്റ്റാൻഡേർഡ് JSON അവസാന പ്രോപ്പർട്ടിക്കോ അറേ ഇനത്തിനോ ശേഷം കോമ അനുവദിക്കുന്നില്ല. JavaScript ഒബ്ജക്റ്റ് ലിറ്ററലുകൾ പലപ്പോഴും അനുവദിക്കുന്നു.
JSON ഒറ്റ ഉദ്ധരണി ഉപയോഗിക്കാമോ?
ഇല്ല. പ്രോപ്പർട്ടി പേരുകളും സ്ട്രിംഗുകളും ഇരട്ട ഉദ്ധരണി ഉപയോഗിക്കണം.
JSON-ൽ അഭിപ്രായങ്ങൾ ഉണ്ടാകാമോ?
സ്റ്റാൻഡേർഡ് JSON-ൽ ഇല്ല. ചില ടൂളുകൾ അഭിപ്രായമുള്ള JSONC അല്ലെങ്കിൽ JSON5 സ്വീകരിക്കുന്നു; JSON.parse അവയെ നിരസിക്കും.
JSON.parse() എന്തുകൊണ്ട് പരാജയപ്പെടുന്നു?
സ്ട്രിംഗ് സാധുവായ JSON അല്ല. സാധാരണ കാരണങ്ങൾ അവസാന കോമ, ഒറ്റ ഉദ്ധരണി, ഉദ്ധരണിയില്ലാത്ത കീകൾ, അഭിപ്രായങ്ങൾ, അല്ലെങ്കിൽ മുറിച്ച മൂല്യം. കൃത്യമായ സന്ദേശം റൺടൈമിനെ ആശ്രയിച്ചിരിക്കുന്നു.
JSON സാധുവാണോ എന്ന് എങ്ങനെ പരിശോധിക്കാം?
JSON ക്രമീകരിക്കുക / Diff പോലുള്ള വാലിഡേറ്ററിൽ ഒട്ടിക്കുക, അല്ലെങ്കിൽ കൺസോളിൽ JSON.parse വിളിക്കുക. പാഴ്സ് എറിഞ്ഞാൽ ടെക്സ്റ്റ് സാധുവായ JSON അല്ല.