JSON کیا ہے؟ مثالوں کے ساتھ آسان زبان میں گائیڈ
JSON (JavaScript Object Notation) ساختی ڈیٹا لکھنے کا ایک سادہ متنی فارمیٹ ہے، جیسے کوئی گاہک، کوئی آرڈر یا مصنوعات کی فہرست، جس میں نام اور قدریں جوڑی بنا کر لکھی جاتی ہیں۔ یہ لوگوں کے لیے پڑھنا آسان ہے اور پروگراموں کے لیے بنانا اور پارس کرنا آسان۔ جب ایپس اور سروسز ویب پر ڈیٹا کا تبادلہ کرتی ہیں تو JSON سب سے عام فارمیٹ ہے۔
AI کے ساتھ بناتے وقت JSON کیوں اہم ہے
آپ کا سامنا JSON سے مسلسل ہوگا، چاہے آپ کبھی کوڈ نہ لکھیں:
- APIs۔ جب آپ کی ایپ کی اسکرینیں اپنے بیک اینڈ سے ڈیٹا لاتی ہیں، یا آپ کا بیک اینڈ کسی ادائیگی، ای میل یا AI سروس کو کال کرتا ہے، تو ڈیٹا عموماً JSON میں سفر کرتا ہے۔ دیکھیں API کیا ہے۔
- ترتیبات کی فائلیں۔ بہت سی پروجیکٹ کنفیگریشن فائلیں JSON ہوتی ہیں، مثلاً
package.json، جو ایک JavaScript پروجیکٹ کی dependencies کی فہرست دیتی ہے۔ - ڈیٹا بیس۔ Postgres JSON کو ایک کالم (
jsonbقسم) میں محفوظ کر سکتا ہے، ان ڈیٹا کے لیے جو صاف قطاروں اور کالموں میں فِٹ نہیں ہوتا۔ دیکھیں Postgres کیا ہے۔ - AI کا آؤٹ پٹ۔ جب آپ چاہتے ہیں کہ AI ماڈل کوئی ایسی چیز واپس کرے جسے پروگرام استعمال کر سکے، جیسے ٹیگز کی فہرست یا انوائس کے فیلڈز، تو عموماً آپ JSON مانگتے ہیں۔
- Error messages اور 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کی شکل میں ہے، جو comma سے الگ ہوتا ہے۔ - چوکور بریکٹ
[ ]ایک 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] | ترتیب والی فہرست؛ آئٹمز کسی بھی قسم کے ہو سکتے ہیں |
JSON میں تاریخ کی کوئی الگ قسم نہیں ہے۔ تاریخیں strings کے طور پر لکھی جاتی ہیں، عموماً اوپر دکھائے گئے ISO 8601 فارمیٹ میں (2026-10-03T14:00:00Z، جہاں Z کا مطلب UTC ہے)۔ اس فارمیٹ پر متفق ہونا time-zone کی غلطیوں کی ایک پوری قسم سے بچاتا ہے۔
سخت اصول (جہاں سے غلطیاں آتی ہیں)
JSON نظر آنے سے زیادہ سخت ہے۔ یہ سب غلط ہیں:
{ name: "Lena" } ← دوہرے واوین کے بغیر key
{ 'name': 'Lena' } ← اکہرے واوین
{ "a": 1, "b": 2, } ← trailing comma
{ "a": 1 "b": 2 } ← comma غائب ہے
{ "a": 1 // comment } ← comments کی اجازت نہیں
زیادہ تر “Unexpected token” غلطیاں انہی میں سے کسی ایک کی ہوتی ہیں۔ ایک JSON validator یا formatter آپ کو ٹھیک لائن دکھا دے گا۔
ایک عملی مثال: ایپ کے ذریعے JSON
ایک گاہک سیلون ایپ میں بال کٹوانے کی بکنگ کرتا ہے۔ یہاں JSON ظاہر ہوتا ہے:
- بکنگ فارم یہ ایپ کے بیک اینڈ کو بھیجتا ہے:
{ "service": "Haircut", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
- بیک اینڈ بکنگ کو ڈیٹا بیس میں محفوظ کرتا ہے اور status
201 Createdکے ساتھ یہ جواب دیتا ہے:
{ "id": 5001, "status": "confirmed" }
- اگر وقت پہلے ہی لیا جا چکا ہو تو وہ اس کے بجائے status
409 Conflictاور یہ جواب دے سکتا ہے:
{ "error": "slot_taken", "message": "That time was just booked. Please pick another." }
صفحہ status یا error پڑھ کر درست پیغام دکھاتا ہے۔ اگر صفحہ اس کے بجائے خالی اسکرین دکھائے تو براؤزر کے developer tools (Network tab) میں کھولنے سے آپ کو یہی JSON نظر آ جائے گا، جو اکثر یہ جاننے کا سب سے تیز سراغ ہوتا ہے کہ کیا خراب ہوا۔
اہم اصطلاحات
| اصطلاح | مطلب |
|---|---|
| Key | نام اور قدر کے جوڑے میں نام، جیسے "email"۔ |
| Parse | JSON متن کو ایسے ڈیٹا میں بدلنا جسے پروگرام استعمال کر سکے۔ |
| Serialize / stringify | ڈیٹا کو بھیجنے یا محفوظ کرنے کے لیے JSON متن میں بدلنا۔ |
| Payload | کسی request یا response میں بھیجا گیا ڈیٹا۔ |
| Schema | اس بات کی تفصیل کہ ڈیٹا کی شکل کیسی ہونی چاہیے، کون سے فیلڈز اور کون سی قسمیں۔ JSON Schema اسے لکھنے کا ایک معیاری طریقہ ہے۔ |
| JSONB | Postgres کا بائنری JSON کالم، جس پر index لگایا اور query کی جا سکتی ہے۔ |
| NDJSON / JSON Lines | ہر لائن میں ایک JSON object، جو logs اور streaming کے لیے عام ہے۔ |
عام غلط فہمیاں
- “JSON، JavaScript ہے۔” یہ JavaScript کے نحو سے آیا ہے، لیکن یہ کسی ایک زبان سے بندھا نہیں؛ Python، Java، C#، Go اور باقی سب اسے پڑھتے ہیں۔
- “اعداد واوین میں ہوں تو ٹھیک ہے۔”
"35"ایک string ہے، عدد نہیں۔ انہیں ملانے سے بگ آتے ہیں، جیسے"35" + "5"کا"355"بن جانا۔ رقم اکثر پورے سینٹس (3550) کے طور پر محفوظ کرنا بہتر ہے تاکہ گول کرنے کے مسائل نہ ہوں۔ - “JSON محفوظ ہے کیونکہ یہ صرف ڈیٹا ہے۔” JSON کچھ بھی لے جا سکتا ہے، جن میں secrets بھی شامل ہیں۔ براؤزر کو بھیجے جانے والے JSON میں API keys نہ ڈالیں۔
- “سب کچھ ایک JSON کالم میں ڈال دیں۔” لچکدار اضافی ڈیٹا کے لیے یہ آسان ہے، لیکن جس ڈیٹا پر آپ سرچ، فلٹر یا join کرتے ہیں وہ عموماً صحیح کالموں میں ہونا چاہیے۔
- “AI ہمیشہ درست JSON واپس کرتا ہے۔” ماڈل اضافی متن شامل کر سکتے ہیں یا فارمیٹ توڑ سکتے ہیں۔ بہت سے فراہم کنندگان structured-output موڈ دیتے ہیں؛ پھر بھی آپ کے کوڈ کو واپس آنے والی چیز جانچنی چاہیے۔
اپنے AI بلڈر سے کیا مانگیں
- “مجھے دکھائیں کہ یہ endpoint کون سا JSON واپس کرتا ہے۔”
- “غلطیاں JSON میں واپس کریں، جس میں ایک
errorکوڈ اور انسانوں کے پڑھنے کے قابلmessageہو۔” - “تاریخیں UTC میں ISO 8601 strings کے طور پر محفوظ کریں اور مقامی وقت میں صرف اسکرین پر بدلیں۔”
- “قیمتیں integer cents میں محفوظ کریں۔”
- “آنے والے JSON کی سرور پر تصدیق کریں اور جن درخواستوں میں فیلڈز غائب ہوں یا قسم غلط ہو انہیں رد کریں۔”
- “AI ماڈل کو کال کرتے وقت JSON اسی درست شکل میں مانگیں اور استعمال سے پہلے اسے جانچیں۔”
Mythex میں JSON
Mythex میں آپ کو JSON ہاتھ سے لکھنے کی ضرورت نہیں؛ آپ بتاتے ہیں کہ کیا چاہیے اور agent وہ کوڈ لکھتا ہے جو اسے بھیجتا اور پڑھتا ہے۔ پھر بھی اسے پہچاننا مفید ہے: جب کچھ ٹوٹے تو چیٹ میں JSON کی غلطی چسپاں کرنے سے agent کو ایک درست سراغ ملتا ہے۔ docs کی REST API backend recipe شروع سے “واضح JSON غلطیاں” مانگتی ہے، اور کسی بھی API کو integrate کریں recipe بیرونی سروسز کو کال کرنے کا طریقہ بتاتی ہے۔ بڑی تصویر کے لیے دیکھیں REST بمقابلہ GraphQL اور AI سے بنی ایپ میں بگ کیسے ڈھونڈیں۔
سوالات
آسان الفاظ میں JSON کیا ہے؟
JSON (JavaScript Object Notation) ایک سادہ متنی فارمیٹ ہے جس میں ساختی ڈیٹا کو نام اور قدر کی شکل میں لکھا جاتا ہے، جیسے "name": "Lena"۔ تقریباً ہر ویب API ڈیٹا آگے پیچھے بھیجنے کے لیے اسے استعمال کرتی ہے، اور بہت سی ایپس اسے ترتیبات اور محفوظ ڈیٹا کے لیے استعمال کرتی ہیں۔
کیا JSON ایک پروگرامنگ زبان ہے؟
نہیں۔ JSON ایک ڈیٹا فارمیٹ ہے، زبان نہیں۔ یہ خود سے کچھ نہیں کر سکتا، صرف ڈیٹا کو بیان کرتا ہے۔ اگرچہ یہ JavaScript سے آیا ہے، عملی طور پر ہر پروگرامنگ زبان اسے پڑھ اور لکھ سکتی ہے۔
JSON اور JavaScript object میں کیا فرق ہے؟
دونوں ایک جیسے لگتے ہیں، لیکن JSON زیادہ سخت ہے۔ JSON میں ہر key کو دوہرے واوین میں ہونا چاہیے، strings بھی دوہرے واوین میں ہوتی ہیں، کوئی comment نہیں ہوتا، کوئی trailing comma نہیں ہوتا، اور قدریں صرف strings، numbers، true، false، null، objects اور arrays تک محدود ہیں۔
میرا JSON invalid کیوں کہہ رہا ہے؟
عام وجوہات یہ ہیں: آخری آئٹم کے بعد trailing comma، دوہرے واوین کے بجائے اکہرے واوین، آئٹمز کے درمیان comma کا غائب ہونا، کسی bracket کا بند نہ ہونا، یا کوئی comment۔ اسے JSON validator میں ڈالیں تو وہ غلط لائن کی نشاندہی کرے گا۔