Makosa 25 ya JSON Yanayofanywa na Kila Developer
JSON ndio uti wa mgongo wa mawasiliano ya wavuti. Ni nyepesi na rahisi kusoma. Hata hivyo, sheria zake ni kali. Makosa madogo huharibu kodi yako.
Epuka makosa haya ya kawaida ili kuandika miundo bora ya data.
Makosa ya Sintaksi
- Tumia alama za nukuu mbili pekee. Alama za nukuu moja hufanya kazi katika JavaScript lakini hukataa katika JSON.
- Ondoa koma zinazojitokeza mwishoni. Koma baada ya kipengele cha mwisho husababisha programu kusimama (crash).
- Ongeza koma zilizokosekana. Kila jozi ya funguo-thamani (key-value pair) inahitaji koma kati yake.
- Weka nukuu kwenye funguo zote. Kila funguo lazima iwe na alama za nukuu mbili kuzunguka.
- Linganisha mabano yako. Usitumie mabano ya kote (curly braces) pale ambapo yanapaswa kuwa mabano ya mraba (square brackets).
Makosa ya Aina ya Data
- Shughulikia thamani za
undefined. JSON haikubaliundefined. Tumianullbadala yake. - Epuka
NaNnaInfinity. Thamani hizi hugeuka kuwanullwakati wa serialization. - Kumbuka mifumo ya Tarehe (Date). JSON inachukulia tarehe kama maandishi (strings). Lazima uzibadilishe tena kuwa vitu vya
Date. - Tumia namba za msingi-10. Usitumie mifumo ya hex au octal.
- Usihifadhi kazi (functions). JSON ni kwa ajili ya data tuli (static data) pekee.
- Epuka maoni (comments). JSON hairuhusu maoni ya
//au/* */. - Epusha (escape) alama za nukuu mbili. Tumia mkwaju (backslash) ili kujumuisha nukuu ndani ya maandishi (string).
- Tumia
\nkwa mistari mipya. Huwezi kubofya enter ndani ya thamani ya maandishi (string). - Epusha mikwaju (backslashes). Tumia
\\kwa njia (paths) au mifumo ya regex.
Makosa ya Mazingira na Mantiki
- Angalia ingizo (input) lako. Usipitishe kitu (object) kwenye
JSON.parse(). - Zingatia herufi kubwa na ndogo. "userId" na "userid" ni funguo tofauti.
- Usitegemee mpangilio. JSON haihakikishii mfuatano wa funguo.
- Usitumie
eval()kamwe. TumiaJSON.parse()ili kuzuia hatari za kiusalama. - Linda namba kubwa. Pitisha ID za biti-64 kama maandishi (strings) ili kuepuka kupoteza usahihi.
- Tumia bloketi za
try...catch. JSON isiyo sahihi itasababisha programu yako kusimama ikiwa hutakamata makosa. - Rekebisha marejeo ya mzunguko (circular references). Huwezi kubadilisha kitu (object) kuwa maandishi ikiwa kinajirejelea chenyewe.
- Jua tofauti. JSON ina masharti makali zaidi kuliko kitu cha kawaida cha JavaScript.
- Epuka maandishi tupu. Tumia
{}au[]badala ya"".
Jinsi ya kuwa salama:
- Tumia kikiweka (validator) ili kukagua sintaksi yako.
- Tumia Prettier kwenye edita yako ili kupanga faili kiotomatiki.
- Kila mara zungushia mantiki ya uchambuzi (parsing logic) kwenye bloketi ya
try...catch.
Chanzo: https://dev.to/jsdevspace/25-json-mistakes-every-developer-makes-36e6
