ازگر میں Json فائلیں کیسے پڑھیں اور لکھیں۔

How Read Write Json Files Python



یہ مضمون ازگر پروگرامنگ زبان میں JSON فائلوں اور ڈیٹا کو ہینڈل کرنے کا طریقہ بتائے گا۔ ازگر ایک بلٹ ان json ماڈیول کے ساتھ آتا ہے جو JSON ڈیٹا کو ہینڈل کرنا آسان اور سیدھا کرتا ہے۔

JSON کے بارے میں

JSON (جاوا اسکرپٹ آبجیکٹ نوٹیشن) ایک فائل فارمیٹ اور ڈیٹا سٹوریج سٹینڈرڈ ہے جو ڈیٹا کو سٹور اور ایکسچینج کرنے کے لیے کلیدی ویلیو جوڑوں کا استعمال کرتا ہے۔ یہ سب سے زیادہ استعمال ہونے والا ڈیٹا ایکسچینج فارمیٹ ہے ، جو اکثر RESTful APIs ، ہلکا پھلکا ڈیٹا بیس ، کنفیگ فائلز ، اور دیگر آف لائن یا آن لائن سافٹ وئیر میں دیکھا جاتا ہے جن کو ڈیٹا کو سٹور کرنے ، بازیافت کرنے اور ایکسچینج کرنے کی ضرورت ہوتی ہے۔ زیادہ تر پروگرامنگ زبانوں میں JSON ڈیٹا کو بطور ڈیفالٹ تجزیہ اور لکھنے کے لیے لائبریریاں شامل ہوتی ہیں اور JSON ایک پروگرامنگ لینگویج اگنوسٹک ڈیٹا فارمیٹ ہے۔ JSON فائل یا پے لوڈ میں محفوظ کردہ اقدار میں عام طور پر ڈور ، نمبر اور سیریلائز ایبل ڈیٹا ٹائپ ہوتے ہیں جیسے فہرستیں (صفیں)۔







JSON اور ازگر کی لغات۔

ازگر میں JSON ڈیٹا کو لوڈ کا طریقہ استعمال کرکے لغت آبجیکٹ میں تبدیل کیا جاتا ہے۔ یہ اکثر دیکھا جاتا ہے کہ کچھ لوگ json ڈیٹا اور ایک ازگر کی لغت کے مترادف ہوتے ہیں ، کیونکہ ان دونوں کی وضاحت کے لیے نحو تقریبا nearly ایک جیسا ہے۔ تاہم ، json ڈیٹا کچھ نہیں ہے مگر ایک ٹیکسٹ سٹرنگ جو کہ ایک سخت نحو میں تشکیل دیا گیا ہے جبکہ ایک ازگر کی لغت میموری میں محفوظ کردہ ڈیٹا ڈھانچے کی چیز ہے۔ اگر آپ ٹیکسٹ فائل میں لغت کا ڈیٹا سٹور کرنا چاہتے ہیں یا اسے کسی اور نان پائتھون پروگرام میں بھیجنا چاہتے ہیں تو آپ کو پہلے اسے ٹیکسٹ سٹرنگ (بائٹس) میں تبدیل کرنا پڑے گا۔ اس ڈمپڈ / کنورٹڈ ٹیکسٹ سٹرنگ کی وضاحت JSON کے معیاری نحو میں کی گئی ہے اور ایک ازگر لغت کو json مطابقت پذیر سٹرنگ میں تبدیل کرنے کے عمل کو سیریلائزیشن کہا جاتا ہے۔



ازگر میں JSON ڈیٹا پڑھنا اور ڈمپ کرنا۔

JSON ڈیٹا کو بطور جوابی سرور حاصل کیا جا سکتا ہے ، فائل سے پڑھا جا سکتا ہے ، URL سوال کے پیرامیٹرز سے کاٹا جا سکتا ہے اور اسی طرح۔ یہ مضمون بنیادی طور پر مقامی طور پر ذخیرہ شدہ فائل سے json ڈیٹا پڑھنے پر توجہ دے گا۔ آئیے فرض کریں کہ ایک test.json فائل میں درج ذیل ڈیٹا موجود ہے:



{'codename': 'Eoan Ermine'، 'version': 'Ubuntu 19.10'}

ازگر میں test.json فائل کو پڑھنے کے لیے ، آپ نیچے کوڈ استعمال کر سکتے ہیں:





درآمدjson

کے ساتھ کھلا ('test.json') جیسا کہf:
ڈیٹا=jsonبوجھ(f)

ڈمپ=jsonگندگی(ڈیٹا)

پرنٹ کریں (ڈیٹا)
پرنٹ کریں (قسم(ڈیٹا))
پرنٹ کریں (ڈمپ)
پرنٹ کریں (قسم(ڈمپ))

مذکورہ کوڈ میں پہلی لائن json ماڈیول درآمد کرتی ہے۔ اگلی لائن میں ، فائل کے مندرجات کو محفوظ طریقے سے پڑھنے کے لیے اوپن کے ساتھ استعمال کیا جاتا ہے۔ اوپن بلاک کے اندر ، ڈیٹا متغیر میں فائل کے مندرجات کو پڑھنے اور محفوظ کرنے کے لیے json.load طریقہ استعمال کیا جاتا ہے۔ پچھلے مرحلے میں بھرا ہوا ڈیٹا json.dump طریقہ استعمال کرتے ہوئے واپس json string میں تبدیل ہو جاتا ہے۔ مندرجہ بالا کوڈ کو چلانے سے درج ذیل آؤٹ پٹ دکھائی دے گا:

{'خفیا نام':'ایون ارمین'، 'ورژن':اوبنٹو 19.10}
<کلاس 'حکم'>
{'خفیا نام':'ایون ارمین'، 'ورژن':اوبنٹو 19.10}
<کلاس 'str'>

مندرجہ بالا آؤٹ پٹ میں نوٹس کریں کہ json.load طریقہ خام json ڈیٹا کو ازگر کی لغت میں پڑھتا ہے جبکہ json.dumps طریقے لغت کو ایک تار میں تبدیل کرتے ہیں جو JSON ڈھانچے کے ساتھ مطابقت رکھتا ہے۔ ایک بار جب JSON آبجیکٹ کو ازگر کی لغت میں تبدیل کر دیا جاتا ہے ، تو آپ ڈیٹا کو سنبھالنے کے لیے بلٹ ان ازگر لغت کے طریقے استعمال کر سکتے ہیں۔ مندرجہ بالا مثال کافی بنیادی ہے اور اس میں JSON ڈیٹا یا گھریلو اقدار میں صفیں شامل نہیں ہیں۔ تاہم ازگر کے اندر ، آپ ان اقدار کو کسی بھی دوسری گھریلو لغات اور فہرستوں کی طرح سنبھال سکتے ہیں۔



JSON ڈیٹا کو چھانٹنا اور خوبصورت پرنٹ کرنا۔

json.dump طریقہ چابیاں چھانٹنے اور بہتر پڑھنے کی صلاحیت کے لیے آؤٹ پٹ کو پرنٹ کرنے کے لیے کچھ اختیاری پیرامیٹرز کی حمایت کرتا ہے۔

درآمدjson

کے ساتھ کھلا ('test.json') جیسا کہf:
ڈیٹا=jsonبوجھ(f)

ڈمپ=jsonگندگی(ڈیٹا،ترتیب_کیز=سچ ہے۔،حاشیہ=)
پرنٹ کریں (ڈمپ)

مندرجہ بالا کوڈ مندرجہ ذیل آؤٹ پٹ دکھائے گا:

{
'codename': 'Eoan Ermine' ،
'ورژن': 'اوبنٹو 19.10'
}

ڈیٹا ٹائپ کنورژنز۔

ذیل کی فہرست واضح کرتی ہے کہ کس طرح JSON اقدار ازگر کی اشیاء میں تبدیل ہوتی ہیں اور اس کے برعکس۔

JSON ازگر۔
تار p
نمبر int یا فلوٹ۔
درست غلط درست غلط
خالی کوئی نہیں
صف فہرست
چیز حکم

Json.tool کمانڈ لائن ماڈیول۔

ازگر میں ایک عمدہ کمانڈ لائن یوٹیلیٹی json.tool شامل ہے جسے JSON ڈور اور فائلوں کو درست اور پرنٹ کرنے کے لیے استعمال کیا جا سکتا ہے۔

$ گونج'{' codename ':' Eoan Ermine '،' version ':' Ubuntu 19.10 '}'| python3 -m json.ٹول

مندرجہ بالا کمانڈ چلانے سے آپ کو درج ذیل آؤٹ پٹ دکھائے گا:

{
'codename': 'Eoan Ermine' ،
'ورژن': 'اوبنٹو 19.10'
}

آپ JSON فائلوں کے ساتھ json.tool بھی استعمال کر سکتے ہیں۔ نیچے دی گئی کمانڈ میں in_file اور out_file کو اپنی مطلوبہ اقدار سے تبدیل کریں:

$ python3 -m json.ٹولفائل میں آؤٹ فائل۔

خوبصورت پرنٹنگ ، چھانٹ اور JSON ڈیٹا کی توثیق کے علاوہ ، json.tool کچھ اور نہیں کرتا۔ لہذا اگر آپ کسی بھی JSON ڈیٹا میں ہیرا پھیری کرنا چاہتے ہیں تو آپ کو بلٹ ان JSON ماڈیول کا استعمال کرتے ہوئے اپنا کسٹم کوڈ لکھنا ہوگا۔