JSON എന്താണ്? ഉദാഹരണങ്ങളോടെ ലളിതമായ ഒരു വഴികാട്ടി
JSON (JavaScript Object Notation) എന്നത് ഘടനയുള്ള ഡാറ്റ — ഒരു ഉപഭോക്താവ്, ഒരു ഓർഡർ, ഒരു ഉൽപ്പന്ന പട്ടിക പോലുള്ളവ — പേരുകളും മൂല്യങ്ങളും ചേർത്ത് എഴുതാനുള്ള ലളിതമായ ടെക്സ്റ്റ് ഫോർമാറ്റാണ്. മനുഷ്യർക്ക് വായിക്കാൻ എളുപ്പമാണ്, പ്രോഗ്രാമുകൾക്ക് ഉണ്ടാക്കാനും വിശകലനം ചെയ്യാനും എളുപ്പമാണ്. വെബ് വഴി ആപ്പുകളും സേവനങ്ങളും ഡാറ്റ കൈമാറുമ്പോൾ ഏറ്റവും സാധാരണമായ ഫോർമാറ്റ് JSON ആണ്.
AI ഉപയോഗിച്ച് നിർമ്മിക്കുമ്പോൾ JSON പ്രധാനമാകുന്നത് എന്തുകൊണ്ട്
കോഡ് ഒന്നും എഴുതാതെ തന്നെ നിങ്ങൾ JSON നിരന്തരം കാണും:
- API-കൾ. നിങ്ങളുടെ ആപ്പിന്റെ സ്ക്രീനുകൾ ബാക്കെൻഡിൽ നിന്ന് ഡാറ്റ ലോഡ് ചെയ്യുമ്പോഴോ, നിങ്ങളുടെ ബാക്കെൻഡ് ഒരു പേയ്മെന്റ്, ഇമെയിൽ അല്ലെങ്കിൽ AI സേവനത്തെ വിളിക്കുമ്പോഴോ, ഡാറ്റ സാധാരണയായി JSON ആയാണ് സഞ്ചരിക്കുന്നത്. API എന്താണെന്ന് അറിയുക.
- സെറ്റിംഗ്സ് ഫയലുകൾ. പല പ്രോജക്റ്റ് കോൺഫിഗറേഷൻ ഫയലുകളും JSON ആണ് — ഉദാഹരണത്തിന്
package.json, അത് JavaScript പ്രോജക്റ്റിന്റെ ഡിപ്പെൻഡൻസികൾ പട്ടികപ്പെടുത്തുന്നു. - ഡാറ്റാബേസുകൾ. വരികളും കോളങ്ങളും കൃത്യമായി യോജിക്കാത്ത ഡാറ്റയ്ക്കായി Postgres-ന് ഒരു കോളത്തിൽ JSON സൂക്ഷിക്കാം (
jsonbടൈപ്പ്). Postgres എന്താണെന്ന് അറിയുക. - AI ഔട്ട്പുട്ട്. ഒരു പ്രോഗ്രാമിന് ഉപയോഗിക്കാവുന്ന എന്തെങ്കിലും AI മോഡൽ തിരികെ നൽകണമെങ്കിൽ — ഒരു ടാഗ് പട്ടിക, ഇൻവോയ്സിൽ നിന്നുള്ള ഫീൽഡുകൾ — സാധാരണയായി JSON ആവശ്യപ്പെടുന്നു.
- പിശക് സന്ദേശങ്ങളും ലോഗുകളും. പല പിശകുകളും JSON ആയാണ് വരുന്നത്. എന്താണ് തെറ്റിയതെന്ന് അറിയാനുള്ള ഏറ്റവും വേഗമേറിയ വഴി അവ വായിക്കുന്നതാണ്.
JSON വായിക്കാനറിഞ്ഞാൽ നിങ്ങളുടെ ആപ്പിന് ശരിക്കും ലഭിച്ച ഡാറ്റ പരിശോധിക്കാം, ഒരു ഫീൽഡ് കാണാനില്ലെന്ന് കണ്ടെത്താം, പ്രശ്നം AI ബിൽഡറോട് കൃത്യമായി വിവരിക്കാം.
ഒരു ദൈനംദിന ഉദാഹരണം
ഒരു പേപ്പർ ഫോം സങ്കൽപ്പിക്കുക: പേര്: ____, ഫോൺ: ____, ന്യൂസ്ലെറ്റർ: ☐ അതെ ☐ അല്ല. ഓരോ എൻട്രിക്കും അടുത്ത് ഒരു ലേബലും മൂല്യവുമുണ്ട്. JSON എന്നത് ആ ഫോം ഒരു കമ്പ്യൂട്ടറിന് ഊഹിക്കാതെ വായിക്കാവുന്ന കർശനമായ ലേഔട്ടിൽ ടെക്സ്റ്റായി എഴുതിയതാണ്. ഫോമുകളിലെന്നപോലെ JSON-ലും വിഭാഗങ്ങൾക്കുള്ളിൽ വിഭാഗങ്ങളും (ഉദാഹരണത്തിന് തെരുവ്, നഗരം, പിൻകോഡ് അടങ്ങിയ വിലാസ ബ്ലോക്ക്) പട്ടികകളും (ഒന്നിലധികം ഫോൺ നമ്പറുകൾ) ഉണ്ടാകാം.
JSON ഇങ്ങനെയാണ്
ഇതാ ഒരു ബുക്കിംഗ് JSON-ൽ:
{
"id": 5001,
"customer": "Lena Park",
"service": "Haircut",
"startsAt": "2026-10-03T14:00:00Z",
"price": 35.5,
"paid": false,
"notes": null,
"extras": ["beard trim", "hot towel"],
"contact": {
"email": "lena@example.com",
"phone": "+44 20 7946 0000"
}
}
ഇത് വായിക്കുന്ന വിധം:
- ചുരുണ്ട ബ്രേസുകൾ
{ }ഒരു ഒബ്ജക്റ്റ് പൊതിയുന്നു — പേര്/മൂല്യ ജോഡികളുടെ ഒരു കൂട്ടം. - ഓരോ ജോഡിയും
"name": valueആണ്, കോമകൾ കൊണ്ട് വേർതിരിച്ചിരിക്കുന്നു. - ചതുരാകൃതിയിലുള്ള ബ്രാക്കറ്റുകൾ
[ ]ഒരു അറേ പൊതിയുന്നു — ക്രമമുള്ള ഒരു പട്ടിക. contact,extrasഎന്നിവ പോലെ ഒബ്ജക്റ്റുകൾക്കും അറേകൾക്കും ഉള്ളിൽ മറ്റവ വയ്ക്കാം.
ആറ് തരം മൂല്യങ്ങൾ
JSON-ൽ ആകെ ആറ് തരം മൂല്യങ്ങളേ ഉള്ളൂ. ഈ ചെറിയ പട്ടികയാണ് എല്ലായിടത്തും ഇത് പ്രവർത്തിക്കാൻ ഒരു വലിയ കാരണം.
| തരം | ഉദാഹരണം | കുറിപ്പുകൾ |
|---|---|---|
| സ്ട്രിംഗ് (ടെക്സ്റ്റ്) | "Lena Park" | എപ്പോഴും ഇരട്ട ഉദ്ധരണി |
| നമ്പർ | 35.5, -2, 1e6 | ഉദ്ധരണി വേണ്ട; കറൻസി ചിഹ്നങ്ങൾ പാടില്ല |
| ബൂളിയൻ | true, false | ചെറിയ അക്ഷരത്തിൽ, ഉദ്ധരണി വേണ്ട |
| Null | null | “മൂല്യമില്ല” |
| ഒബ്ജക്റ്റ് | { "city": "Leeds" } | പേരുള്ള മൂല്യങ്ങൾ |
| അറേ | [1, 2, 3] | ക്രമമുള്ള പട്ടിക; ഇനങ്ങൾ ഏത് തരവുമാകാം |
തീയതി എന്ന പ്രത്യേക തരമില്ല. മുകളിൽ കാണിച്ച ISO 8601 ഫോർമാറ്റിൽ (2026-10-03T14:00:00Z, ഇവിടെ Z എന്നാൽ UTC) തീയതികൾ സ്ട്രിംഗുകളായാണ് എഴുതുന്നത്. ഒരു ഫോർമാറ്റിൽ ധാരണയിലെത്തുന്നത് സമയമേഖല ബഗുകളുടെ ഒരു മുഴുവൻ വിഭാഗം ഒഴിവാക്കുന്നു.
കർശനമായ നിയമങ്ങൾ (പിശകുകൾ എവിടെ നിന്ന് വരുന്നു)
JSON തോന്നുന്നതിനേക്കാൾ വിട്ടുവീഴ്ചയില്ലാത്തതാണ്. ഇവയെല്ലാം അസാധുവാണ്:
{ name: "Lena" } ← ഇരട്ട ഉദ്ധരണിയില്ലാത്ത കീ
{ 'name': 'Lena' } ← ഒറ്റ ഉദ്ധരണികൾ
{ "a": 1, "b": 2, } ← ട്രെയിലിംഗ് കോമ
{ "a": 1 "b": 2 } ← കോമ കാണുന്നില്ല
{ "a": 1 // comment } ← കമന്റുകൾ അനുവദനീയമല്ല
നിങ്ങൾ കാണുന്ന മിക്ക “Unexpected token” പിശകുകളും ഇവയിലൊന്നാണ്. ഒരു JSON വാലിഡേറ്റർ അല്ലെങ്കിൽ ഫോർമാറ്റർ കൃത്യമായ വരി കാണിച്ചുതരും.
ഒരു പ്രായോഗിക ഉദാഹരണം: ഒരു ആപ്പിലൂടെ JSON
ഒരു സലൂൺ ആപ്പിൽ ഒരു ഉപഭോക്താവ് ഹെയർകട്ട് ബുക്ക് ചെയ്യുന്നു. JSON എവിടെയാണ് വരുന്നതെന്ന് നോക്കാം:
- ബുക്കിംഗ് ഫോം ആപ്പിന്റെ ബാക്കെൻഡിലേക്ക് ഇത് അയക്കുന്നു:
{ "service": "Haircut", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
- ബാക്കെൻഡ് ബുക്കിംഗ് ഡാറ്റാബേസിൽ സേവ് ചെയ്ത്, സ്റ്റാറ്റസ്
201 Createdഉം താഴെയുള്ള JSON-ഉം തിരികെ നൽകുന്നു:
{ "id": 5001, "status": "confirmed" }
- ആ സമയം നേരത്തെ ബുക്ക് ചെയ്യപ്പെട്ടതാണെങ്കിൽ, പകരം
409 Conflictസ്റ്റാറ്റസും ഇതും തിരികെ നൽകിയേക്കാം:
{ "error": "slot_taken", "message": "That time was just booked. Please pick another." }
പേജ് status അല്ലെങ്കിൽ error വായിച്ച് ശരിയായ സന്ദേശം കാണിക്കുന്നു. പകരം പേജ് ശൂന്യമായ സ്ക്രീൻ കാണിച്ചാൽ, ബ്രൗസറിന്റെ ഡെവലപ്പർ ടൂൾസ് (Network ടാബ്) തുറന്നാൽ ഈ JSON കാണാം — എന്താണ് തെറ്റിയതെന്ന് അറിയാനുള്ള ഏറ്റവും വേഗമേറിയ സൂചന പലപ്പോഴും ഇതാണ്.
പ്രധാന പദങ്ങൾ
| പദം | അർത്ഥം |
|---|---|
| കീ | "email" പോലുള്ള പേരു/മൂല്യ ജോഡിയിലെ പേര്. |
| പാഴ്സ് (Parse) | JSON ടെക്സ്റ്റിനെ പ്രോഗ്രാമിന് ഉപയോഗിക്കാവുന്ന ഡാറ്റയാക്കി മാറ്റൽ. |
| സീരിയലൈസ് / സ്ട്രിംഗിഫൈ | അയക്കാനോ സൂക്ഷിക്കാനോ ഡാറ്റയെ JSON ടെക്സ്റ്റാക്കി മാറ്റൽ. |
| പേലോഡ് (Payload) | ഒരു റിക്വസ്റ്റിലോ റെസ്പോൺസിലോ അയക്കുന്ന ഡാറ്റ. |
| സ്കീമ (Schema) | ഡാറ്റയ്ക്ക് എന്ത് ആകൃതിയുണ്ടാകണം എന്ന വിവരണം — ഏത് ഫീൽഡുകൾ, ഏത് തരം. JSON Schema അത് എഴുതാനുള്ള ഒരു സ്റ്റാൻഡേർഡ് വഴിയാണ്. |
| JSONB | Postgres-ന്റെ ബൈനറി JSON കോളം ടൈപ്പ്; ഇതിൽ ഇൻഡെക്സ് ചെയ്യാനും ക്വറി ചെയ്യാനും കഴിയും. |
| NDJSON / JSON Lines | ഓരോ വരിയിലും ഒരു JSON ഒബ്ജക്റ്റ്; ലോഗുകൾക്കും സ്ട്രീമിംഗിനും സാധാരണം. |
സാധാരണ തെറ്റിദ്ധാരണകൾ
- “JSON എന്നാൽ JavaScript ആണ്.” ഇതിന്റെ വാക്യഘടന JavaScript-ൽ നിന്നാണെങ്കിലും ഇത് ഭാഷ-സ്വതന്ത്രമാണ്; Python, Java, C#, Go തുടങ്ങിയവയെല്ലാം ഇത് വായിക്കുന്നു.
- “ഉദ്ധരണിയിലുള്ള നമ്പറുകൾ ശരിയാണ്.”
"35"ഒരു സ്ട്രിംഗാണ്, നമ്പറല്ല. ഇവ കൂട്ടിക്കലർത്തുന്നത്"35" + "5""355"ആകുന്നത് പോലുള്ള ബഗുകൾ ഉണ്ടാക്കുന്നു. പണം പൂർണ്ണ സംഖ്യ സെന്റുകളായി (3550) സൂക്ഷിക്കുന്നത് റൗണ്ടിംഗ് പ്രശ്നങ്ങൾ ഒഴിവാക്കാൻ നല്ലതാണ്. - “ഡാറ്റ മാത്രമായതിനാൽ JSON സുരക്ഷിതമാണ്.” JSON-ൽ എന്തും കൊണ്ടുപോകാം, രഹസ്യങ്ങളും ഉൾപ്പെടെ. ബ്രൗസറിലേക്ക് അയക്കുന്ന JSON-ൽ API കീകൾ ഇടരുത്.
- “എല്ലാം ഒരു JSON കോളത്തിൽ ഇടുക.” അധിക വിവരങ്ങൾക്ക് സൗകര്യമാണ്, പക്ഷേ തിരയുകയും ഫിൽറ്റർ ചെയ്യുകയും ജോയിൻ ചെയ്യുകയും ചെയ്യുന്ന ഡാറ്റ സാധാരണയായി ശരിയായ കോളങ്ങളിൽ വേണം.
- “AI എപ്പോഴും സാധുവായ JSON തിരികെ നൽകും.” മോഡലുകൾ അധിക ടെക്സ്റ്റ് ചേർക്കുകയോ ഫോർമാറ്റ് തെറ്റിക്കുകയോ ചെയ്യാം. പല പ്രൊവൈഡർമാരും സ്ട്രക്ചേർഡ് ഔട്ട്പുട്ട് മോഡ് നൽകുന്നു; എങ്കിലും തിരികെ വരുന്നത് നിങ്ങളുടെ കോഡ് പരിശോധിക്കണം.
നിങ്ങളുടെ AI ബിൽഡറോട് എന്ത് ചോദിക്കണം
- “ഈ എൻഡ്പോയിന്റ് തിരികെ നൽകുന്ന JSON-ന്റെ ഒരു ഉദാഹരണം കാണിക്കൂ.”
- “പിശകുകൾ ഒരു
errorകോഡും മനുഷ്യർക്ക് വായിക്കാവുന്നmessage-ഉം ഉള്ള JSON ആയി നൽകൂ.” - “തീയതികൾ UTC-യിൽ ISO 8601 സ്ട്രിംഗുകളായി സൂക്ഷിക്കൂ; സ്ക്രീനിൽ മാത്രം പ്രാദേശിക സമയത്തേക്ക് മാറ്റൂ.”
- “വിലകൾ പൂർണ്ണ സംഖ്യ സെന്റുകളായി സൂക്ഷിക്കൂ.”
- “ലഭിക്കുന്ന JSON സെർവറിൽ വാലിഡേറ്റ് ചെയ്യൂ; ഫീൽഡുകൾ കാണാതിരിക്കുകയോ തെറ്റായ തരത്തിലാകുകയോ ചെയ്യുന്ന റിക്വസ്റ്റുകൾ നിരസിക്കൂ.”
- “AI മോഡലിനെ വിളിക്കുമ്പോൾ ഈ കൃത്യമായ രൂപത്തിൽ JSON ആവശ്യപ്പെടൂ, ഉപയോഗിക്കുന്നതിന് മുമ്പ് പരിശോധിക്കൂ.”
Mythex-ൽ JSON
Mythex-ൽ നിങ്ങൾ JSON കൈകൊണ്ട് എഴുതേണ്ടതില്ല — നിങ്ങൾ ആവശ്യം വിവരിക്കുന്നു, അത് അയക്കുകയും വായിക്കുകയും ചെയ്യുന്ന കോഡ് ഏജന്റ് എഴുതുന്നു. എങ്കിലും അത് തിരിച്ചറിയുന്നത് സഹായകമാണ്: എന്തെങ്കിലും തകരുമ്പോൾ JSON പിശക് ചാറ്റിൽ ഒട്ടിച്ചാൽ ഏജന്റിന് കൃത്യമായ സൂചന കിട്ടും. ഡോക്സിലെ REST API ബാക്കെൻഡ് റെസിപ്പി തുടക്കം മുതൽ “വ്യക്തമായ JSON പിശകുകൾ” ആവശ്യപ്പെടുന്നു, ഏത് API-യും സംയോജിപ്പിക്കുക റെസിപ്പി പുറത്തുള്ള സേവനങ്ങളെ വിളിക്കുന്നത് വിവരിക്കുന്നു. വലിയ ചിത്രത്തിനായി REST vs GraphQL, AI-നിർമ്മിത ആപ്പ് എങ്ങനെ ഡീബഗ് ചെയ്യാം എന്നിവ നോക്കുക.
ചോദ്യങ്ങൾ
JSON ലളിതമായി പറഞ്ഞാൽ എന്താണ്?
JSON (JavaScript Object Notation) എന്നത് “name”: “Lena” പോലെ പേരുകളും മൂല്യങ്ങളും ആയി ഘടനയുള്ള ഡാറ്റ എഴുതാനുള്ള ടെക്സ്റ്റ് ഫോർമാറ്റാണ്. മിക്കവാറും എല്ലാ വെബ് API-കളും ഡാറ്റ അയക്കാനും തിരികെ വാങ്ങാനും ഇത് ഉപയോഗിക്കുന്നു, പല ആപ്പുകളും സെറ്റിംഗ്സും സംഭരിച്ച ഡാറ്റയും ഇതിൽ സൂക്ഷിക്കുന്നു.
JSON ഒരു പ്രോഗ്രാമിംഗ് ഭാഷയാണോ?
അല്ല. JSON ഒരു ഡാറ്റാ ഫോർമാറ്റാണ്, ഭാഷയല്ല. അതിന് സ്വയം ഒന്നും ചെയ്യാനാകില്ല — അത് ഡാറ്റയെ വിവരിക്കുക മാത്രമേ ചെയ്യുന്നുള്ളൂ. JavaScript-ൽ നിന്നാണ് ഇതിന്റെ ഉത്ഭവമെങ്കിലും ഏതാണ്ട് എല്ലാ പ്രോഗ്രാമിംഗ് ഭാഷകൾക്കും ഇത് വായിക്കാനും എഴുതാനും കഴിയും.
JSON-ഉം JavaScript ഒബ്ജക്റ്റും തമ്മിലുള്ള വ്യത്യാസം എന്താണ്?
ഇവ തമ്മിൽ സാമ്യമുണ്ട്, പക്ഷേ JSON കൂടുതൽ കർശനമാണ്. JSON-ൽ എല്ലാ കീകളും ഇരട്ട ഉദ്ധരണിയിലാകണം, സ്ട്രിംഗുകൾക്കും ഇരട്ട ഉദ്ധരണി വേണം, കമന്റുകളോ ട്രെയിലിംഗ് കോമകളോ പാടില്ല. മൂല്യങ്ങൾ സ്ട്രിംഗ്, നമ്പർ, true, false, null, ഒബ്ജക്റ്റുകൾ, അറേകൾ എന്നിവയിൽ മാത്രം ഒതുങ്ങുന്നു.
എന്റെ JSON അസാധുവാണെന്ന് പറയുന്നത് എന്തുകൊണ്ട്?
സാധാരണ കാരണങ്ങൾ: അവസാന ഇനത്തിന് ശേഷമുള്ള ട്രെയിലിംഗ് കോമ, ഇരട്ട ഉദ്ധരണിക്ക് പകരം ഒറ്റ ഉദ്ധരണി, ഇനങ്ങൾക്കിടയിൽ കോമ കാണാതിരിക്കുക, അടയ്ക്കാത്ത ബ്രാക്കറ്റ്, അല്ലെങ്കിൽ ഒരു കമന്റ്. ഒരു JSON വാലിഡേറ്ററിൽ ഒട്ടിച്ചാൽ പിശകുള്ള വരി കാണിച്ചുതരും.