JSON ni Nini? Mwongozo wa Lugha Rahisi wenye Mifano
JSON (JavaScript Object Notation) ni muundo rahisi wa maandishi wa kuandika data iliyopangwa — vitu kama mteja, oda au orodha ya bidhaa — kama majina yaliyounganishwa na thamani. Ni rahisi kwa watu kusoma na rahisi kwa programu kuizalisha na kuichambua. App na huduma zinapobadilishana data kupitia wavuti, JSON ndiyo muundo unaotumiwa zaidi.
Kwa nini JSON ni muhimu unapojenga kwa AI
Utakutana na JSON kila mara, hata kama hutawahi kuandika msimbo:
- APIs. Skrini za app yako zinapopakia data kutoka backend yake, au backend yako inapoita huduma ya malipo, barua pepe au AI, data kwa kawaida husafiri kama JSON. Tazama API ni nini.
- Mafaili ya mipangilio. Mafaili mengi ya usanidi wa mradi ni JSON — kwa mfano
package.json, inayoorodhesha utegemezi wa mradi wa JavaScript. - Databases. Postgres inaweza kuhifadhi JSON kwenye safu (aina ya
jsonb) kwa data isiyotoshea kwenye safu na mistari safi. Tazama Postgres ni nini. - Matokeo ya AI. Unapotaka modeli ya AI irudishe kitu ambacho programu inaweza kutumia — orodha ya lebo, sehemu zilizotolewa kwenye ankara — kwa kawaida unaomba JSON.
- Ujumbe wa hitilafu na logs. Hitilafu nyingi hufika kama JSON, na kuzisoma mara nyingi ndiyo njia ya haraka zaidi ya kujua kilichoenda vibaya.
Kuweza kusoma JSON kunakuwezesha kukagua kile app yako ilichopokea hasa, kuona sehemu iliyokosekana na kueleza matatizo kwa usahihi kwa mjenzi wako wa AI.
Mfano wa kila siku
Fikiria fomu ya karatasi: Jina: ____, Simu: ____, Jarida: ☐ ndiyo ☐ hapana. Kila ingizo ni lebo yenye thamani kando yake. JSON ni fomu hiyo iliyoandikwa kama maandishi, katika mpangilio mkali ambao kompyuta inaweza kuusoma bila kukisia. Na kama fomu, JSON inaweza kuwa na sehemu ndani ya sehemu (kizuizi cha anwani chenye mtaa, jiji na msimbo wa posta) na orodha (namba kadhaa za simu).
JSON inavyoonekana
Hii ni booking moja kwa 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"
}
}
Kuisoma:
- Mabano ya mikunjo
{ }yanazunguka object — seti ya jozi za jina/thamani. - Kila jozi ni
"jina": thamani, zikitenganishwa kwa koma. - Mabano ya mraba
[ ]yanazunguka array — orodha iliyopangwa. - Objects na arrays zinaweza kukaa ndani ya nyingine, kama
contactnaextraszinavyofanya.
Aina sita za thamani
JSON ina aina sita tu za thamani. Orodha hiyo fupi ni sehemu kubwa ya sababu inayofanya ifanye kazi kila mahali.
| Aina | Mfano | Maelezo |
|---|---|---|
| String (maandishi) | "Lena Park" | Nukuu mbili kila wakati |
| Number (namba) | 35.5, -2, 1e6 | Bila nukuu; bila alama za sarafu |
| Boolean | true, false | Herufi ndogo, bila nukuu |
| Null | null | "Hakuna thamani" |
| Object | { "city": "Leeds" } | Thamani zenye majina |
| Array | [1, 2, 3] | Orodha iliyopangwa; vipengele vinaweza kuwa aina yoyote |
Hakuna aina ya tarehe. Tarehe huandikwa kama maandishi, kwa kawaida katika muundo wa ISO 8601 unaoonyeshwa hapo juu (2026-10-03T14:00:00Z, ambapo Z maana yake ni UTC). Kukubaliana juu ya muundo huo kunaepusha aina nzima ya hitilafu za saa za eneo.
Kanuni kali (ndipo hitilafu zinapotokea)
JSON ni ngumu kuliko inavyoonekana. Hizi zote si sahihi:
{ name: "Lena" } ← ufunguo bila nukuu mbili
{ 'name': 'Lena' } ← nukuu moja
{ "a": 1, "b": 2, } ← koma ya ziada
{ "a": 1 "b": 2 } ← koma imekosekana
{ "a": 1 // comment } ← maoni hayaruhusiwi
Makosa mengi ya "Unexpected token" unayoyaona ni mojawapo ya haya. Kithibitishaji au kipanga cha JSON kitakuonyesha mstari kamili.
Mfano wa vitendo: JSON kupitia app
Mteja anaweka nafasi ya kukata nywele kwenye app ya saluni. Hapa ndipo JSON inapotokea:
- Fomu ya nafasi inatuma hii kwa backend ya app:
{ "service": "Haircut", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
- Backend inahifadhi nafasi kwenye database na kujibu kwa hali
201 Createdna:
{ "id": 5001, "status": "confirmed" }
- Kama muda ulikuwa tayari umechukuliwa, inaweza badala yake kujibu kwa hali
409 Conflictna:
{ "error": "slot_taken", "message": "That time was just booked. Please pick another." }
Ukurasa unasoma status au error na kuonyesha ujumbe sahihi. Kama ukurasa ungeonyesha skrini tupu, kufungua zana za msanidi za kivinjari (kichupo cha Network) kungekuonyesha JSON hii — mara nyingi dalili ya haraka zaidi ya kilichoenda vibaya.
Istilahi muhimu
| Istilahi | Maana |
|---|---|
| Key | Jina kwenye jozi ya jina/thamani, kama "email". |
| Parse | Kubadilisha maandishi ya JSON kuwa data ambayo programu inaweza kutumia. |
| Serialize / stringify | Kubadilisha data kuwa maandishi ya JSON ili kutuma au kuhifadhi. |
| Payload | Data inayotumwa kwenye ombi au jibu. |
| Schema | Maelezo ya umbo ambalo data inapaswa kuwa nalo — mafaili gani, aina gani. JSON Schema ni njia ya kawaida ya kuiandika. |
| JSONB | Aina ya safu ya JSON ya binary ya Postgres, inayoweza kuorodheshwa na kuulizwa. |
| NDJSON / JSON Lines | Object moja ya JSON kwa kila mstari, ya kawaida kwa logs na utiririshaji. |
Dhana potofu za kawaida
- "JSON ni JavaScript." Ilitokana na sintaksia ya JavaScript, lakini haitegemei lugha; Python, Java, C#, Go na nyingine zote zinaisoma.
- "Namba zilizo kwenye nukuu ni sawa."
"35"ni maandishi, si namba. Kuchanganya kunasababisha hitilafu kama"35" + "5"kuwa"355". Pesa mara nyingi ni bora kuhifadhiwa kama senti nzima (3550) ili kuepuka matatizo ya kuzungusha. - "JSON ni salama kwa sababu ni data tu." JSON inaweza kubeba chochote, ikiwemo siri. Usiweke funguo za API kwenye JSON inayotumwa kwa kivinjari.
- "Weka kila kitu kwenye safu ya JSON." Ni rahisi kwa ziada zinazobadilika, lakini data unayotafuta, unayochuja au unayounganisha kwa kawaida inapaswa kuwa kwenye safu halisi.
- "AI daima hurudisha JSON sahihi." Modeli zinaweza kuongeza maandishi ya ziada au kuvunja muundo. Watoa huduma wengi wanatoa hali ya matokeo yaliyopangwa; msimbo wako bado unapaswa kukagua kinachorudi.
Unachoweza kumwomba mjenzi wako wa AI
- "Nionyeshe mfano wa JSON ambayo endpoint hii inarudisha."
- "Rudisha hitilafu kama JSON yenye msimbo wa
errorna ujumbe unaosomeka wamessage." - "Hifadhi tarehe kama maandishi ya ISO 8601 kwa UTC, na ubadilishe kuwa saa za eneo kwenye skrini pekee."
- "Hifadhi bei kama senti nzima."
- "Kagua JSON inayoingia upande wa seva na ukatae maombi yenye sehemu zilizokosekana au aina zisizo sahihi."
- "Ninapomwita modeli ya AI, omba JSON katika muundo huu hasa na uikague kabla ya kuitumia."
JSON kwenye Mythex
Hauhitaji kuandika JSON kwa mkono kwenye Mythex — unaeleza unachotaka na wakala anaandika msimbo unaotuma na kusoma. Hata hivyo, inasaidia kuitambua: kitu kinapoharibika, kubandika hitilafu ya JSON kwenye mazungumzo kunampa wakala dalili sahihi. Nyaraka za kichocheo cha backend ya REST API zinaomba "hitilafu wazi za JSON" tangu mwanzo, na kichocheo cha kuunganisha API yoyote kinashughulikia kuita huduma za nje. Kwa picha kubwa zaidi, tazama REST dhidi ya GraphQL na jinsi ya kutatua app iliyojengwa kwa AI.
Maswali
JSON kwa maneno rahisi ni nini?
JSON (JavaScript Object Notation) ni muundo wa maandishi wa kuandika data iliyopangwa kama majina na thamani, kama "name": "Lena". Karibu kila API ya wavuti hutumia JSON kutuma data huku na huko, na apps nyingi hutumia kwa mipangilio na data iliyohifadhiwa.
Je, JSON ni lugha ya programu?
Hapana. JSON ni muundo wa data, si lugha. Haiwezi kufanya chochote peke yake — inaeleza data tu. Ingawa ilitokana na JavaScript, karibu kila lugha ya programu inaweza kuisoma na kuiandika.
Tofauti kati ya JSON na JavaScript object ni ipi?
Zinafanana kwa mwonekano, lakini JSON ni kali zaidi. Katika JSON kila ufunguo lazima uwe kwenye nukuu mbili, maandishi hutumia nukuu mbili, hakuna maoni, hakuna koma ya ziada mwishoni, na thamani zinaishia kwenye maandishi, namba, true, false, null, objects na arrays.
Kwa nini JSON yangu inasema si sahihi?
Sababu za kawaida ni koma ya ziada baada ya kipengele cha mwisho, nukuu moja badala ya mbili, koma iliyokosekana kati ya vipengele, mabano yasiyofungwa, au maoni. Ibandike kwenye kithibitishaji cha JSON nayo itaonyesha mstari husika.