JSON کا مطلب جاوا اسکرپٹ آبجیکٹ نوٹیشن ہے۔ یہ نہ صرف ہلکا پھلکا ہے بلکہ انسانوں کے لئے پڑھنے لکھنا بھی آسان ہے۔ اسی طرح ، مشینوں کو پارس اور پیدا کرنا آسان معلوم ہوتا ہے۔ جب کسی بھی ازگر ڈویلپر کے لئے APIs ، کنفیگریشن فائلوں ، یا ذخیرہ شدہ معلومات کے دیگر ذرائع سے ڈیٹا کے ساتھ کام کرتے ہو تو JSON پارسنگ انتہائی ضروری ہے۔ یہ مضمون آپ کو ازگر کے JSON ماڈیول کا استعمال کرتے ہوئے JSON کی تجزیہ کرنے کے لئے بنیادی طریقہ کار کے ذریعے لے جاتا ہے۔
JSON اعداد و شمار کو کلیدی قدر کے جوڑے کے طور پر نمائندگی کرتا ہے ، جو ایک ازگر لغت کی طرح ہے۔ یہاں JSON آبجیکٹ کی ایک بنیادی مثال ہے:
{
"name": "Alice",
"age": 30,
"is_student": false,
"courses": ["Math", "Science"]
}
اس JSON آبجیکٹ میں ایک تار ، ایک نمبر ، ایک بولین اور ایک صف شامل ہے۔ اس ڈھانچے کو سمجھنا ازگر میں JSON ڈیٹا کی تجزیہ اور جوڑ توڑ کے لئے بنیادی ہے۔
ازگر کا JSON ماڈیول JSON کے تاروں اور فائلوں کی تجزیہ کرنا آسان بنا دیتا ہے۔ اس ماڈیول میں JSON.Loads () جیسے اسٹرنگ سے JSON پڑھنے کے لئے ، اور JSON.Load () جیسے فائل سے JSON پڑھنے کے طریقے شامل ہیں۔ اس کے برعکس ، json.dums () اور json.dump () بالترتیب JSON کو تار اور فائل میں لکھنے کے لئے استعمال ہوتے ہیں۔
JSON ڈیٹا کو پڑھنے کے بہت سے طریقے ہیں ، جن کو ہم اگلے دیکھیں گے۔
تار سے JSON ڈیٹا کو پڑھنے کے لئے ، json.loads () طریقہ استعمال کریں:
import json
json_string = '{"name": "Alice", "age": 30, "is_student": false, "courses": ["Math", "Science"]}'
data = json.loads(json_string)
print(data)
آؤٹ پٹ:
کسی فائل سے JSON ڈیٹا کو پڑھنے کے لئے ، json.load () طریقہ استعمال کریں:
import json
with open('data.json', 'r') as file:
data = json.load(file)
print(data)
آؤٹ پٹ:
JSON ڈیٹا لکھنے کے کچھ مختلف طریقے یہ ہیں:
JSON ڈیٹا کو تار میں لکھنے کے لئے ، json.dums () طریقہ استعمال کریں:
import json
data = {
"name": "Alice",
"age": 30,
"is_student": False,
"courses": ["Math", "Science"]
}
json_string = json.dumps(data)
print(json_string)
آؤٹ پٹ:
کسی فائل میں JSON ڈیٹا لکھنے کے لئے ، json.dump () طریقہ استعمال کریں:
import json
data = {
"name": "Alice",
"age": 30,
"is_student": False,
"courses": ["Math", "Science"]
}
with open('data.json', 'w') as file:
json.dump(data, file)
زیادہ پیچیدہ ڈیٹا ڈھانچے کے ساتھ کام کرتے وقت گھوںسلا JSON اشیاء عام ہیں۔ ازگر آسانی سے ان گھریلو ڈھانچے کو سنبھال سکتا ہے۔
import json
nested_json_string = '''
{
"name": "Alice",
"age": 30,
"is_student": false,
"courses": ["Math", "Science"],
"address": {
"street": "123 Main St",
"city": "Wonderland"
}
}
'''
data = json.loads(nested_json_string)
print(data['address']['city'])
آؤٹ پٹ:
کبھی کبھی ، آپ کو کسٹم ازگر اشیاء کو JSON میں تبدیل کرنے کی ضرورت ہوتی ہے۔ اس کے لئے ایک کسٹم انکوڈر کی ضرورت ہے۔
import json
class Student:
def __init__(self, name, age, is_student):
self.name = name
self.age = age
self.is_student = is_student
class StudentEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, Student):
return obj.__dict__
return super().default(obj)
student = Student("Alice", 30, False)
json_string = json.dumps(student, cls=StudentEncoder)
print(json_string)
آؤٹ پٹ:
اسی طرح ، JSON ڈیٹا کو کسٹم ازگر اشیاء میں ڈی کوڈ کرنے کے ل you ، آپ کو کسٹم ڈیکوڈر کی ضرورت ہے۔
import json
class Student:
def __init__(self, name, age, is_student):
self.name = name
self.age = age
self.is_student = is_student
def student_decoder(dct):
return Student(dct['name'], dct['age'], dct['is_student'])
json_string = '{"name": "Alice", "age": 30, "is_student": false}'
student = json.loads(json_string, object_hook=student_decoder)
print(student.name)
آؤٹ پٹ:
JSON ڈیٹا کے ساتھ کام کرنے سے کئی عام غلطیاں ہوسکتی ہیں ، خاص طور پر جب JSON ڈیٹا کو تجزیہ ، پیدا کرنا ، یا اس تک رسائی حاصل کرنا۔ یہاں کچھ عام ہیں:
JSON کو پارس کرتے وقت ایک عام غلطی JSON کے غلط فارمیٹ کا سامنا کر رہی ہے۔ JSON کے لئے چابیاں اور تار کی اقدار کے ارد گرد ڈبل قیمت درج کرنے کی ضرورت ہے ، اور بریکٹ اور منحنی خطوط وحدانی کے مناسب گھوںسلا۔
import json
invalid_json_string = "{'name': 'Alice', 'age': 30, 'is_student': False}"
try:
data = json.loads(invalid_json_string)
except json.JSONDecodeError as e:
print(f"Invalid JSON format: {e}")
آؤٹ پٹ:
JSON ڈیٹا کو پارس کرتے وقت ، آپ کو لاپتہ چابیاں کا سامنا کرنا پڑ سکتا ہے۔ اگر کوئی کلید غائب ہے تو پہلے سے طے شدہ قیمت فراہم کرنے کے لئے GET طریقہ استعمال کریں۔
import json
json_string = '{"name": "Alice", "age": 30}'
data = json.loads(json_string)
is_student = data.get('is_student', False)
print(is_student)import json
json_string = '{"name": "Alice", "age": 30}'
data = json.loads(json_string)
is_student = data.get('is_student', False)
print(is_student)
بریک پوائنٹس سیٹ کرنے اور اپنے JSON پارسنگ کوڈ کو ڈیبگ کرنے کے لئے PDB ماڈیول کا استعمال کریں۔
import json
import pdb
json_string = '{"name": "Alice", "age": 30, "is_student": false}'
pdb.set_trace()
data = json.loads(json_string)
print(data)
ویب سکریپنگ میں اکثر ویب APIs سے ڈیٹا نکالنا شامل ہوتا ہے جو JSON جوابات واپس کرتے ہیں۔ درخواستوں کی لائبریری اور https://httpbin.org/any کچھنگ پوائنٹ کا استعمال کرتے ہوئے یہاں ایک کمپیکٹ مثال ہے۔
پہلے ، یقینی بنائیں کہ آپ کے پاس لائبریری کی درخواستیں انسٹال ہیں:
pip install requests
یہ کوڈ JSON ڈیٹا کو سنبھالنے کے لئے HTTP درخواستوں اور JSON کے لئے درخواستوں کو درآمد کرتا ہے۔ یہ درخواستوں کا استعمال کرتے ہوئے ٹارگٹ یو آر ایل کو گیٹ کی درخواست بھیجتا ہے۔ ہم خاص ڈیٹا جیسے ہیڈر ، صارف ایجنٹ ، اصل اور یو آر ایل کو کھینچتے اور پرنٹ کرتے ہیں۔
کوڈ میں مضبوط غلطی سے نمٹنے پر مشتمل ہے۔ جب JSON ڈیکوڈنگ کی غلطی واقع ہوتی ہے تو یہ json.jsondecode ایرر کو اپنی گرفت میں لے لیتا ہے ، اور جب کوئی مخصوص کلید غائب ہوتی ہے تو اس کے نتیجے میں پروگرام کو 'NO ڈیٹا' کے حادثے سے محفوظ بنا دیا جاتا ہے۔ اس طرح کے کوڈ کی مضبوطی اس وجہ سے اسے حقیقی ویب سکریپنگ ٹاسک کو مکمل طور پر سنبھالنے کے قابل بناتی ہے۔
import json
url = 'https://httpbin.org/anything'
response = requests.get(url)
try:
data = response.json()
# JSON ردعمل سے مخصوص ڈیٹا نکالنا
headers = data['headers']
user_agent = headers.get('User-Agent', 'N/A')
origin = data.get('origin', 'N/A')
url = data.get('url', 'N/A')
print(f"User Agent: {user_agent}")
print(f"Origin: {origin}")
print(f"URL: {url}")
except json.JSONDecodeError:
print("Error decoding JSON response")
except KeyError as e:
print(f"Key error: {e} not found in the JSON response")
ہر ازگر کوڈر کو JSON کی تجزیہ کرنے کا طریقہ جاننا چاہئے۔ JSON ماڈیول اور اس دستی کے ذریعہ اس کو نمایاں کرنے کا بہترین طریقہ کے ساتھ ، آپ JSON ڈیٹا کو کافی تیزی سے پڑھنے ، لکھنے اور ڈیبگ کرسکیں گے۔ اس سے یہ ظاہر ہوتا ہے کہ آپ باقاعدگی سے اپنے کوڈز کی جانچ کریں گے ، اور بہتر JSON ہینڈلنگ کی مہارت کے ل tion ازگر میں دستیاب صحیح ٹولز اور بیشتر موجودہ خصوصیات کا استعمال کریں گے۔
ویب سکریپنگ کو انجام دیتے وقت ، کسی کو JSON کو اہم سمجھا جاتا ہے ، اس حقیقت پر غور کرتے ہوئے کہ ویب APIs سے حاصل کردہ ڈیٹا عام طور پر JSON کی شکل میں ظاہر ہوتا ہے ، اس کے علاوہ آپ مختلف ویب ذرائع سے معلومات کو موثر انداز میں نکال سکتے ہیں ، اگر آپ JSON ڈیٹا کو پارس اور جوڑ توڑ کرسکتے ہیں۔ اچھے طریقے سے
تبصرے: 0