JSON ازگر تجزیہ: ایک سادہ رہنما۔

JSON ازگر تجزیہ: ایک سادہ رہنما۔

JSON ('جاوا اسکرپٹ آبجیکٹ نوٹیشن' کے لیے کھڑا ہے) ایک ٹیکسٹ پر مبنی فارمیٹ ہے جو متنوع ایپلی کیشنز کے درمیان ڈیٹا کے تبادلے کی سہولت فراہم کرتا ہے۔ مثال کے طور پر ، ایک درخواست۔ C ++ میں لکھا گیا۔ ونڈوز پر چلنا JSON ڈیٹا کو ازگر میں لکھی گئی ایپلی کیشن اور لینکس پر چلنے کے ساتھ آسانی سے تبدیل کر سکتا ہے۔ اس کی سادگی اور لچک نے حالیہ برسوں میں بڑے پیمانے پر استعمال کیا ہے ، خاص طور پر پہلے XML پر مبنی فارمیٹس کی ترجیح میں۔





تقریبا any کسی بھی زبان اور ماحول سے JSON کی تجزیہ اور تخلیق کے لیے لائبریریاں اور ٹول کٹس دستیاب ہیں۔ یہ مضمون ازگر کا استعمال کرتے ہوئے JSON پر کارروائی کرنے سے پیدا ہونے والے طریقوں اور مسائل پر مرکوز ہے۔





کچھ JSON نمونے۔

سب سے عام JSON ہستی جس کا آپ سامنا کریں گے ایک ہے۔ چیز : ذیل میں دکھائے گئے فارمیٹ میں کلیدی ویلیو میپنگز کا ایک سیٹ۔





ڈاٹ کو سیمسنگ ٹی وی سے کیسے جوڑیں

person.json:

{
'firstName': 'Alice',
'lastName': 'Hall',
'age': 35
}

یہ ہے کہ آپ کس طرح اشیاء کی صف کی نمائندگی کرسکتے ہیں۔ اس نمائندگی میں ، صف کا ہر آئٹم ایک شے ہے۔ بیس بال کھلاڑیوں کی تنخواہوں کا نمونہ درج ذیل ہے۔



تنخواہ. json:

[ {
'year' : 1985,
'teamId' : 'ATL',
'leagueId' : 'NL',
'playerId' : 'barkele01',
'salary' : 870000
}, {
'year' : 1985,
'teamId' : 'ATL',
'leagueId' : 'NL',
'playerId' : 'bedrost01',
'salary' : 550000
} ]

یقینا ، آپ اسکیلرز کی ایک صف کی بھی نمائندگی کرسکتے ہیں۔ یہ اس طرح لگتا ہے:





[
'hello',
'world',
35
]

ازگر میں JSON پارس کرنا۔

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

درج ذیل کوڈ کا ٹکڑا ظاہر کرتا ہے کہ JSON فائل کو کیسے کھولیں اور ڈیٹا کو متغیر میں کیسے لوڈ کریں۔





import json
with open('sample.json', 'r') as fp:
obj = json.load(fp)

جب آپ کے پاس JSON ڈیٹا پر مشتمل سٹرنگ ہو تو آپ اسے مندرجہ ذیل کے ساتھ ایک ازگر آبجیکٹ (یا فہرست) میں تبدیل کر سکتے ہیں۔

یوٹیوب اطلاعات کو کیسے چالو کریں
obj = json.loads('''{
'firstName': 'Alice',
'lastName': 'Hall',
'age': 35
}''')

JSON URL کی تجزیہ کرنے کے لیے ، آپ استعمال کر کے یو آر ایل آبجیکٹ بنا سکتے ہیں۔ urllib2 اور استعمال کریں json.load () پہلے کی طرح.

import urllib2, json
url = urllib2.urlopen('http://site.com/sample.json')
obj = json.load(url)

غلطیوں کو سنبھالنا۔

جب JSON میں غلطیاں ہوں گی تو آپ کو ایک مل جائے گا۔ ویلیو ایرر۔ . آپ اسے سنبھال سکتے ہیں اور ضرورت پڑنے پر اصلاحی کارروائی کر سکتے ہیں۔

try:
obj = json.loads('''{
'firstName': 'Alice',
'lastName: 'Hall',
'age': 35
}''')
except ValueError:
print('error loading JSON')

JSON کو کمانڈ لائن سے پارس کرنا۔

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

cat glossary.json
# prints
{'glossary': {'GlossDiv': {'GlossList': {'GlossEntry': {'GlossDef': {'GlossSeeAlso': ['GML', 'XML'], 'para': 'A meta-markup language, used to create markup languages such as DocBook.'}, 'GlossSee': 'markup', 'Acronym': 'SGML', 'GlossTerm': 'Standard Generalized Markup Language', 'Abbrev': 'ISO 8879:1986', 'SortAs': 'SGML', 'ID': 'SGML'}}, 'title': 'S'}, 'title': 'example glossary'}}

مندرجہ بالا JSON فائل سے انڈینٹڈ آؤٹ پٹ حاصل کرنے کے لیے ، آپ درج ذیل کام کر سکتے ہیں:

python -mjson.tool glossary.json
# prints
{
'glossary': {
'GlossDiv': {
'GlossList': {
'GlossEntry': {
'Abbrev': 'ISO 8879:1986',
'Acronym': 'SGML',
'GlossDef': {
'GlossSeeAlso': [
'GML',
'XML'
],
'para': 'A meta-markup language, used to create markup languages such as DocBook.'
},
'GlossSee': 'markup',
'GlossTerm': 'Standard Generalized Markup Language',
'ID': 'SGML',
'SortAs': 'SGML'
}
},
'title': 'S'
},
'title': 'example glossary'
}
}

اور یہ ہے کہ آپ JSON آبجیکٹ کو ازگر میں کیسے لوڈ کرسکتے ہیں اور صرف وہی نکال سکتے ہیں جس کی آپ کو ضرورت ہے۔

python -c 'import json; fp = open('glossary.json', 'r'); obj = json.load(fp); fp.close(); print(obj['glossary']['title']')
# prints
example glossary

ڈیٹا تک رسائی۔

ایک بار جب آپ JSON ڈیٹا کو ازگر کے متغیر میں لوڈ کر لیتے ہیں ، تو آپ ڈیٹا تک رسائی حاصل کر سکتے ہیں جیسا کہ آپ کو کوئی ازگر حکم دے گا (یا فہرست جیسا کہ معاملہ ہو)۔ مثال کے طور پر ، مندرجہ بالا JSON ڈیٹا تک رسائی حاصل کی جا سکتی ہے۔

firstName = obj['firstName']
lastName = obj['Hall']
age = obj['age']

ڈیٹا کی اقسام۔

ڈیٹا کی اقسام ڈیٹا سے خود بخود طے ہوتی ہیں۔ یاد رکھیں کہ عمر ایک عدد کے طور پر تجزیہ کیا جاتا ہے۔

print(type(obj['firstName']), type(obj['lastName']), type(obj['age']))
# prints

مندرجہ ذیل تبادلوں کا جدول JSON سے ازگر میں تبدیل کرنے کے لیے استعمال کیا جاتا ہے۔

کسٹم کلاس کا استعمال کرتے ہوئے JSON کو پارس کرنا۔

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

یہاں ایک کسٹم کلاس ہے جو a کی نمائندگی کرتی ہے۔ شخص .

class Person:
def __init__(self, firstName, lastName, age):
self.firstName = firstName
self.lastName = lastName
self.age = age
def __str__(self):
return '{{'firstName' = '{0}','lastName' = '{1}', 'age' = {2}}}'.format(self.firstName, self.lastName, self.age)

اس کلاس کی ایک مثال حسب ضرورت دلائل پاس کر کے بنائی گئی ہے۔

person = Person('Crystal', 'Newell', 27)

JSON کو پارس کرتے وقت مثالیں بنانے کے لیے اس کلاس کو استعمال کرنے کے لیے ، آپ کو ایک کی ضرورت ہے۔ object_hook فنکشن کی وضاحت مندرجہ ذیل ہے: فنکشن ایک ازگر حاصل کرتا ہے۔ حکم اور صحیح کلاس کی ایک شے لوٹاتا ہے۔

def obj_creator(d):
return Person(d['firstName'], d['lastName'], d['age'])

اب آپ اسے استعمال کر سکتے ہیں۔ object_hook JSON پارسر کی درخواست کرتے وقت فنکشن۔

with open('sample.json', 'r') as fp:
obj = json.load(fp, object_hook = obj_creator)
print(obj)
# prints
{'firstName' = 'Alice','lastName' = 'Hall', 'age' = 35}

JSON استعمال کی مثالیں۔

JSON آج کل انتہائی مقبول ہے۔ بہت سی ویب سائٹس اور ساس (سافٹ ویئر بطور سروس) ایپلی کیشنز JSON آؤٹ پٹ پیش کرتی ہیں جسے براہ راست ایپلی کیشنز استعمال کر سکتی ہیں۔ عوامی طور پر دستیاب میں سے کچھ میں شامل ہیں:

  • اسٹیک اوور فلو/اسٹیک ایکسچینج۔ یہاں ایک یو آر ایل ہے۔ جو JSON فارمیٹ میں سوالات کی فہرست لوٹاتا ہے۔
  • GitHub https://developer.github.com/v3/ پر JSON API پیش کرتا ہے۔
  • اور یہاں فلکر API ہے: https://developer.yahoo.com/flickr/۔

اگر آپ اس کے اچھے استعمال کے لیے مزید مثالیں تلاش کر رہے ہیں تو اس گائیڈ کو چیک کریں۔ ازگر کا استعمال کرتے ہوئے سوشل میڈیا بوٹ بنانا۔ .

میرا ایچ بی او میکس کیوں کام نہیں کر رہا ہے؟

کیا آپ JSON استعمال کرتے ہیں یا خدمات فراہم کرتے ہیں؟ اور کیا آپ اپنی ٹیکنالوجی اسٹیک میں ازگر استعمال کر رہے ہیں؟ ذیل میں تبصرے میں وضاحت کریں۔

بانٹیں بانٹیں ٹویٹ ای میل۔ کیا یہ ونڈوز 11 کو اپ گریڈ کرنے کے قابل ہے؟

ونڈوز کو دوبارہ ڈیزائن کیا گیا ہے۔ لیکن کیا یہ آپ کو ونڈوز 10 سے ونڈوز 11 میں منتقل کرنے پر راضی کرنے کے لیے کافی ہے؟

اگلا پڑھیں۔
متعلقہ موضوعات۔
  • پروگرامنگ۔
  • پروگرامنگ۔
  • ازگر۔
مصنف کے بارے میں جے سریدھر۔(17 مضامین شائع ہوئے) جے سریدھر سے مزید

ہماری نیوز لیٹر کو سبسکرائب کریں

ٹیک ٹپس ، جائزے ، مفت ای بکس ، اور خصوصی سودوں کے لیے ہمارے نیوز لیٹر میں شامل ہوں!

سبسکرائب کرنے کے لیے یہاں کلک کریں۔