JSON ምንድን ነው? በቀላል እንግሊዝኛ የተጻፈ መመሪያ ከምሳሌዎች ጋር
JSON (JavaScript Object Notation) መረጃን የተዋቀረ መልኩ ለመጻፍ — እንደ ደንበኛ፣ ትዕዛዝ ወይም የምርቶች ዝርዝር ያሉ ነገሮችን ከስምና ከእሴት ጥንዶች ጋር ማስቀመጥ — የሚያገለግል ቀላል የጽሑፍ ቅርጸት ነው። ሰዎች በቀላሉ ያነቡታል፤ ፕሮግራሞችም በቀላሉ ያመነጩታል እና ይተነትኑታል። መተግበሪያዎችና አገልግሎቶች በድር ላይ መረጃ ሲለዋወጡ JSON እጅግ የተለመደው ቅርጸት ነው።
ከAI ጋር ሲገነቡ JSON ለምን ይጠቅማል
ኮድ ባትጽፉም JSONን ያለማቋረጥ ታገኙታላችሁ፦
- APIs። የመተግበሪያዎ ማያ ገጾች ከጀርባ መረጃ ሲጭኑ ወይም ጀርባዎ ክፍያ፣ ኢሜይል ወይም AI አገልግሎት ሲጠራ መረጃው በአብዛኛው እንደ JSON ይጓዛል። API ምንድን ነው ይመልከቱ።
- የቅንብር ፋይሎች። ብዙ የፕሮጀክት ቅንብር ፋይሎች JSON ናቸው — ለምሳሌ
package.json፣ የJavaScript ፕሮጀክት ጥገኞቹን የሚዘረዝር። - ዳታቤዞች። Postgres JSON በአምድ ውስጥ (
jsonbዓይነት) ማስቀመጥ ይችላል፤ ለቀጥታ ረድፎችና አምዶች የማይስማማ መረጃ ሲኖር። Postgres ምንድን ነው ይመልከቱ። - የAI ውጤት። AI ሞዴል ፕሮግራም መጠቀም የሚችለውን ነገር እንዲመልስ ሲፈልጉ — የመለያዎች ዝርዝር ወይም ከካርታ የተወጡ የደረሰኝ መስኮች — በአብዛኛው JSON ይጠይቃሉ።
- የስህተት መልዕክቶችና logs። ብዙ ስህተቶች እንደ 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"
}
}
ማንበቡ እንዲህ ነው፦
- የተጠማዘዙ ቅንፎች
{ }object ይከብባሉ — የስምና እሴት ጥንዶች ስብስብ። - እያንዳንዱ ጥንድ
"name": valueነው፤ በኮማ ይለያያሉ። - ካሬ ቅንፎች
[ ]array ይከብባሉ — የተዘረዘረ ዝርዝር። - Objects እና arrays እንደ
contactእናextrasአንዱ በሌላው ውስጥ ሊቀመጡ ይችላሉ።
ስድስቱ የእሴት ዓይነቶች
JSON ስድስት ዓይነት እሴቶች ብቻ አሉት። ይህ አጭር ዝርዝር በሁሉም ቦታ ለመስራቱ ትልቅ ምክንያት ነው።
| ዓይነት | ምሳሌ | ማስታወሻ |
|---|---|---|
| String (ጽሑፍ) | "Lena Park" | ሁልጊዜ በእጥፍ ጥቅስ |
| Number (ቁጥር) | 35.5፣ -2፣ 1e6 | ጥቅስ የለውም፤ የገንዘብ ምልክት የለውም |
| Boolean | true፣ false | ትንሽ ፊደላት፣ ጥቅስ የለውም |
| Null | null | «እሴት የለም» |
| Object | { "city": "Leeds" } | የተሰየሙ እሴቶች |
| Array | [1, 2, 3] | የተደረደረ ዝርዝር፤ ንጥሎቹ ማንኛውም ዓይነት ሊሆኑ ይችላሉ |
የቀን ዓይነት የለም። ቀኖች እንደ ጽሑፍ ይጻፋሉ፤ በአብዛኛው ከላይ እንደሚታየው በISO 8601 ቅርጸት (2026-10-03T14:00:00Z፣ Z ማለት UTC ነው)። በዚህ ቅርጸት መስማማት የሰዓት ዞን ስህተቶች ዓይነትን ያስቀራል።
ጥብቅ ደንቦቹ (ስህተቶቹ ከየት እንደሚመጡ)
JSON ከሚመስለው ያነሰ ይቅር ባይ ነው። እነዚህ ሁሉ ልክ አይደሉም፦
{ name: "Lena" } ← key without double quotes
{ 'name': 'Lena' } ← single quotes
{ "a": 1, "b": 2, } ← trailing comma
{ "a": 1 "b": 2 } ← missing comma
{ "a": 1 // comment } ← comments aren't allowed
አብዛኞቹ «Unexpected token» ስህተቶች ከእነዚህ አንዱ ናቸው። የJSON validator ወይም formatter ትክክለኛውን መስመር ያሳያል።
ምሳሌ፦ JSON በመተግበሪያ በኩል
ደንበኛ በሳሎን መተግበሪያ ውስጥ የፀጉር ቀጠሮ ይይዛል። JSON የሚታይበት ቦታ ይህ ነው፦
- የቀጠሮ ቅጹ ወደ መተግበሪያው ጀርባ ይህን ይልካል፦
{ "service": "Haircut", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
- ጀርባው ቀጠሮውን በዳታቤዝ ውስጥ ያስቀምጣል እና ሁኔታ
201 Createdእና ይህን ይመልሳል፦
{ "id": 5001, "status": "confirmed" }
- ሰዓቱ አስቀድሞ ከተያዘ ይልቁንም ሁኔታ
409 Conflictእና ይህን ሊመልስ ይችላል፦
{ "error": "slot_taken", "message": "That time was just booked. Please pick another." }
ገጹ status ወይም error ያነባል እና ትክክለኛውን መልዕክት ያሳያል። ገጹ ባዶ ማያ ቢያሳይ፣ የአሳሹን የገንቢ መሳሪያዎች (Network tab) መክፈት ይህን JSON ያሳይዎታል — ምን እንደተበላሸ ለማወቅ ብዙ ጊዜ ፈጣኑ ፍንጭ ነው።
ቁልፍ ቃላት
| ቃል | ትርጉም |
|---|---|
| Key | በስምና እሴት ጥንድ ውስጥ ያለው ስም፤ ለምሳሌ "email"። |
| Parse | የJSON ጽሑፍን ፕሮግራም መጠቀም የሚችለው መረጃ ማድረግ። |
| Serialize / stringify | መረጃን ለመላክ ወይም ለማስቀመጥ ወደ JSON ጽሑፍ መቀየር። |
| Payload | በጥያቄ ወይም ምላሽ ውስጥ የሚላከው መረጃ። |
| Schema | መረጃው ሊኖረው የሚገባውን ቅርጽ መግለጫ — የትኞቹ መስኮች፣ የትኞቹ ዓይነቶች። JSON Schema አንድን ለመጻፍ መደበኛ መንገድ ነው። |
| JSONB | የPostgres ሁለትዮሽ JSON አምድ ዓይነት፤ ኢንዴክስ ሊደረግበትና ሊፈለግ ይችላል። |
| NDJSON / JSON Lines | በእያንዳንዱ መስመር አንድ JSON object፤ ለlogs እና ለዥረት የተለመደ። |
የተሳሳቱ ግንዛቤዎች
- «JSON JavaScript ነው።» ከJavaScript አገባብ የመጣ ቢሆንም ከቋንቋ ነጻ ነው፤ Python፣ Java፣ C#፣ Go እና ሌሎችም ሁሉ ያነቡታል።
- «ቁጥሮች በጥቅስ ውስጥ ቢሆኑ ችግር የለውም።»
"35"ጽሑፍ ነው፣ ቁጥር አይደለም። መቀላቀሉ እንደ"35" + "5"ወደ"355"የሚቀየሩ ስህተቶችን ያመጣል። ገንዘብ ብዙ ጊዜ እንደ ሙሉ ሳንቲም (3550) መቀመጡ የተሻለ ነው፤ ይህም የመደመር ስህተትን ያስቀራል። - «JSON ስለ መረጃ ብቻ ስለሆነ ደህንነቱ የተጠበቀ ነው።» JSON ማንኛውንም ነገር ሊይዝ ይችላል፤ ምስጢሮችንም ጭምር። ወደ አሳሽ በሚላክ JSON ውስጥ API keys አታስቀምጡ።
- «ሁሉንም ነገር በJSON አምድ ውስጥ አድርጉ።» ለተለዋዋጭ ተጨማሪዎች ምቹ ነው፤ ነገር ግን የምትፈልጓቸውና የምታጣምሯቸው መረጃዎች በትክክለኛ አምዶች መኖር አለባቸው።
- «AI ሁልጊዜ ልክ JSON ይመልሳል።» ሞዴሎች ተጨማሪ ጽሑፍ ሊጨምሩ ወይም ቅርጸቱን ሊሰብሩ ይችላሉ። ብዙ አቅራቢዎች የተዋቀረ ውጤት ሁነታ ይሰጣሉ፤ ኮድዎ አሁንም የተመለሰውን ማረጋገጥ አለበት።
ለAI መገንቢያዎ ምን ብለው ይጠይቃሉ
- «ይህ endpoint የሚመልሰውን JSON ምሳሌ አሳየኝ።»
- «ስህተቶችን እንደ JSON ከ
errorኮድና ለሰው በሚነበብmessageመልስ።» - «ቀኖችን በUTC እንደ ISO 8601 ጽሑፍ አስቀምጥ፤ ወደ አካባቢያዊ ሰዓት የምትቀይረው በማያ ገጹ ላይ ብቻ ይሁን።»
- «ዋጋዎችን እንደ ሙሉ ሳንቲም ቁጥሮች አስቀምጥ።»
- «የሚገቡ JSON ጥያቄዎችን በአገልጋዩ ላይ አረጋግጥ፤ የጎደሉ ወይም የተሳሳተ ዓይነት መስኮች ያሉባቸውን ጥያቄዎች ውድቅ አድርግ።»
- «AI ሞዴሉን ስትጠራ JSON በዚህ ትክክለኛ ቅርጽ ጠይቅ፤ ከመጠቀምህ በፊት ፈትሸው።»
JSON በMythex
በMythex JSONን በእጅ መጻፍ አያስፈልግዎትም — የሚፈልጉትን ይገልጻሉ፤ ወኪሉም መረጃውን የሚልኩና የሚያነቡ ኮዶችን ይጽፋል። ነገር ግን ማወቅ ይጠቅማል፦ ነገር ሲበላሽ የJSON ስህተቱን በቻቱ ላይ መለጠፍ ለወኪሉ ትክክለኛ ፍንጭ ይሰጠዋል። የሰነዶቹ REST API backend ምግብ አሰራር ከመጀመሪያው «ግልጽ የJSON ስህተቶች» ይጠይቃል፤ ማንኛውንም API ማዋሃድ ደግሞ ከውጭ አገልግሎቶች ጥሪ ይሸፍናል። ትልቁን ምስል ለማየት REST vs GraphQL እና AI የተገነባ መተግበሪያን እንዴት ማረም እንደሚቻል ይመልከቱ።
ጥያቄዎች
JSON በቀላል አነጋገር ምንድን ነው?
JSON (JavaScript Object Notation) መረጃን እንደ ስምና እሴት ጥንዶች ለመጻፍ የሚያገለግል ግልጽ የጽሑፍ ቅርጸት ነው፤ ለምሳሌ "name": "Lena"። ማለት ይቻላል ሁሉም የድር APIs መረጃ ወደ ኋላና ወደ ፊት ለመላክ JSON ይጠቀማሉ፤ ብዙ መተግበሪያዎችም ለቅንብሮችና ለተቀመጠ መረጃ ይጠቀሙበታል።
JSON የፕሮግራም ቋንቋ ነው?
አይደለም። JSON የመረጃ ቅርጸት እንጂ ቋንቋ አይደለም። በራሱ ምንም ማድረግ አይችልም፤ መረጃን ብቻ ይገልጻል። ከJavaScript የመነጨ ቢሆንም፣ ማለት ይቻላል ሁሉም የፕሮግራም ቋንቋዎች ሊያነቡትና ሊጽፉት ይችላሉ።
በJSON እና በJavaScript object መካከል ያለው ልዩነት ምንድን ነው?
ተመሳሳይ ቢመስሉም JSON ጥብቅ ነው። በJSON እያንዳንዱ key በእጥፍ ጥቅስ ውስጥ መሆን አለበት፣ ጽሑፎች በእጥፍ ጥቅስ ይጻፋሉ፣ አስተያየቶች የሉም፣ የመጨረሻ ኮማ አይፈቀድም፣ እሴቶቹም ጽሑፍ፣ ቁጥር፣ true፣ false፣ null፣ object እና array ብቻ ናቸው።
JSON የእኔ ለምን ልክ አይደለም ይላል?
የተለመዱት ምክንያቶች የመጨረሻው ንጥል ኋላ ያለ ኮማ፣ በእጥፍ ጥቅስ ፋንታ ነጠላ ጥቅስ፣ በንጥሎች መካከል የጎደለ ኮማ፣ ያልተዘጋ ቅንፍ ወይም አስተያየት ናቸው። በJSON validator ላይ ለጥፈው ይለጥፉት፤ መስመሩን ያሳይዎታል።