فہرست کا خانہ
- GSON کیا ہے؟
- Gson کی خصوصیات:
- JSON پر کارروائی کیسے کریں؟
- Gson کا ماحولیاتی سیٹ اپ
- Gson Java کی مثال
- Gson - آبجیکٹ سیریلائزیشن
- جیسن کلاس
- Gson میں ڈیٹا بائنڈنگ
- Gson میں سٹریمنگ API
- Gson میں درختوں کا ماڈل
- Gson میں سیریلائزیشن اور ڈی سیریلائزیشن کی مثالیں۔
- نتیجہ
- تجویز کردہ مضامین
GSON کیا ہے؟
گسون جسے گوگل جیسن بھی کہا جاتا ہے، جاوا پر مبنی لائبریری ہے جو جاوا اشیاء کو سیریلائز کرنے اور ڈی سیریلائز کرنے کے لیے مفید ہے۔ دوسری اصطلاحات میں، Gson کو جاوا اشیاء کو تبدیل کرنے کے لیے استعمال کیا جاتا ہے۔ JSON فارم. یہ کسی بھی JSON سٹرنگ کو اس کے متعلقہ جاوا آبجیکٹ میں بھی بدل دیتا ہے۔
Gson صارفین کو جاوا اشیاء کو اپنی مرضی کے مطابق بنانے کے قابل بناتا ہے اور بڑے پیمانے پر Java Generics کو سپورٹ کرتا ہے۔ یہ دو سیدھے طریقے استعمال کرتا ہے، جاوا آبجیکٹ کو JSON سٹرنگ میں تبدیل کرنے کے لیے Json() اور JSON سٹرنگ کو جاوا آبجیکٹ میں تبدیل کرنے کے لیے۔ Gson کے اہم مقاصد میں سے ایک ان کو تبدیل کرنا ہے۔ جاوا اشیاء کو ان کے متعلقہ JSON سٹرنگ میں، جو قابل ترمیم نہیں ہیں۔
Gson میں سیریلائزر اور ڈیسیریلائزر شامل ہیں۔ Gson سیریلائزر آپ کو JSON سٹرنگ کو اس کے متعلقہ جاوا آبجیکٹ میں تبدیل کرنے کے قابل بناتا ہے۔ آپ جاوا جیسی متعدد اشیاء کو سیریلائز کر سکتے ہیں۔ دوسری طرف، Gson deserializer جاوا آبجیکٹ کو اپنی علیحدہ JSON سٹرنگ میں تبدیل کرتا ہے۔
Gson کی خصوصیات:
یہاں Gson کی کچھ انتہائی مطلوبہ خصوصیات ہیں۔
- Gson ایک اوپن سورس گوگل لائبریری ہے، جو ایک معیاری لائبریری ہے جسے Java generics کی حمایت حاصل ہے۔
- یہ گوگل لائبریری وراثتی درجہ بندی والی پیچیدہ اشیاء کو بھی سپورٹ کرتی ہے۔ یہ نیسٹڈ کلاسوں کی بھی حمایت کرتا ہے۔
- جاوا اشیاء کو سیریلائز کرنے اور ڈی سیریلائز کرنے کے دوران، Gson صارفین کو حسب ضرورت سیریلائزر اور ڈی سیریلائزر بنانے میں مدد کرتا ہے۔ یہ صارفین کو اس عمل پر اپنا کنٹرول رکھنے کے قابل بنائے گا۔ مزید برآں، آپ ان جاوا اشیاء کو ڈی سیریلائز کر سکتے ہیں جن کا کوڈ دستیاب یا قابل رسائی نہیں ہے۔
- Gson کی ایک اور خصوصیت یہ ہے کہ یہ انتہائی حسب ضرورت ہے۔ صارفین فیصلہ کر سکتے ہیں کہ آیا انہیں ایک پیچیدہ آؤٹ پٹ پرنٹ کرنے کی ضرورت ہے یا انسانی پڑھنے کے قابل آؤٹ پٹ۔
- Gson کو کم میموری کی ضرورت ہوتی ہے اور وہ بہت تیز اور تیز ہے۔
- یہ صرف جاوا ڈویلپمنٹ کٹ (JDK) پر منحصر ہے اور اس کے لیے کسی دوسری بیرونی لائبریری کی ضرورت نہیں ہے۔
JSON پر کارروائی کیسے کریں؟
Gson لائبریری، سٹریمنگ API، ٹری ماڈل، اور ڈیٹا بائنڈنگ کے ذریعہ پیش کردہ JSON پر کارروائی کرنے کے تین مختلف طریقے ہیں۔ آئیے ہر JSON پروسیسنگ فارم پر بات کریں۔
اسٹریمنگ API
JSON پر کارروائی کرنے کے سٹریمنگ API طریقہ میں، تمام JSON مواد کو مجرد واقعات کے طور پر پڑھا اور لکھا جاتا ہے۔ JSON ڈیٹا JsonReader کا استعمال کرتے ہوئے پڑھا جاتا ہے اور JsonWriter کا استعمال کرتے ہوئے لکھا جاتا ہے۔ JsonReader اور JsonWriter JSON ڈیٹا کو بطور ٹوکن مانتے ہیں۔ اس ٹوکن کو JsonToken کہا جاتا ہے۔ JSON پروسیسنگ کے لیے سٹریمنگ API کا طریقہ دیگر دو کے مقابلے میں سب سے زیادہ موثر اور تیز طریقہ ہے۔ یہ پڑھنے اور لکھنے کے عمل کو تیزی سے اور تیزی سے انجام دیتا ہے۔
درخت کا ماڈل
JSON پروسیسنگ کا ایک اور طریقہ ٹری ماڈل ہے۔ درخت کے ماڈل میں، JSON مواد کو درخت کی طرح کی ساخت کے طور پر دکھایا جاتا ہے۔ JSON ڈیٹا کی یہ درخت نما ساخت JsonObjects نوڈس پر مشتمل ہے۔ ٹری ماڈل JSON کی پروسیسنگ کے لیے سب سے زیادہ لچکدار طریقہ ہے۔ یہ XML کے DOS تجزیہ کار کی طرح ہی ہے۔
ڈیٹا بائنڈنگ
JSON پروسیسنگ کے لیے ڈیٹا بائنڈنگ اپروچ پراپرٹی ایکسر کا استعمال کرتا ہے۔ پراپرٹی ایکسر JSON کو تبدیل کرتا ہے۔ سادہ پرانا جاوا آبجیکٹ (POJO) اور اس کے برعکس. ڈیٹا بائنڈنگ اپروچ میں ڈیٹا ٹائپ اڈاپٹر ہیں، جو Jsonreads اور Jsonwrites کو انجام دیتے ہیں۔ یہ ڈیٹا بائنڈنگ طریقہ وہی ہے جو XML کے JAXB پارسر کا ہے۔
Gson کا ماحولیاتی سیٹ اپ
اگر آپ کے سسٹم میں مقامی جاوا ماحول کا سیٹ اپ نہیں ہے، تو آپ کو پہلے اسے سیٹ اپ کرنے کی ضرورت ہے۔ اپنے سسٹم پر جاوا ماحول کو ترتیب دینا بہت سیدھا اور قابل انتظام ہے۔ مقامی جاوا ماحول کو ترتیب دینے کے بارے میں آپ کے لیے یہاں ایک مکمل گائیڈ ہے۔ مقامی جاوا ماحول کو کامیابی کے ساتھ ترتیب دینے کے لیے ترتیب وار ذیل میں درج مراحل پر عمل کریں۔
- سب سے پہلے، آپ کو جاوا ایس ای سے ڈاؤن لوڈ کرنا ہوگا۔ ویب سائٹ . یقینی بنائیں کہ آپ نے اپنے کمپیوٹر کے آپریٹنگ سسٹم کے ساتھ مطابقت رکھنے والا JavaSE ورژن ڈاؤن لوڈ کیا ہے۔
- JavaSE فائل ڈاؤن لوڈ کریں اور انسٹالیشن کے دوران دکھائی جانے والی ہدایات پر عمل کریں۔ JavaSE آپ کے سسٹم پر انسٹال ہو جائے گا۔
- اس کے بعد، آپ نے ماحولیاتی متغیرات کا صحیح راستہ ترتیب دیا ہے۔
Windows 2000/XP کے لیے راستہ ترتیب دینے کے اقدامات
جاوا ایس ای فائل جو آپ نے اوپر کی ویب سائٹ سے ڈاؤن لوڈ کی ہے اسے مقامی ڈرائیو C/Program Files/java/jdk ڈائریکٹری میں منتقل کریں۔ اگلا، ماحولیاتی متغیرات کے لیے راستہ ترتیب دینے کے لیے درج ذیل اقدامات دیکھیں۔
- 'مائی کمپیوٹر' پر جائیں اور اس پر دائیں کلک کریں۔ آپ 'پراپرٹیز' دیکھیں گے اور اس پر کلک کریں گے۔
- بعد میں، 'ایڈوانسڈ ٹیب' پر جائیں اور 'ماحولیاتی متغیرات' کے بٹن پر کلک کریں۔
- راستہ چیک کریں۔ jdk ڈائریکٹری کا راستہ تبدیل کریں، جہاں ہم نے ڈاؤن لوڈ کردہ JavaSE فائل رکھی ہے۔ اگر موجودہ راستہ 'C:WINDOWSSYSTEM32' ہے تو اسے 'C:WINDOWSSYSTEM32;c:Program Filesjavajdkin' میں تبدیل کریں۔
Windows 95/98/ME کے لیے راستہ ترتیب دینے کے لیے اقدامات
JavaSE فائل کو ڈاؤن لوڈ کرنے کے بعد، اسے C/Program Files/java/jdk ڈائریکٹری میں منتقل کریں۔ Windows 95/98/ME پر راستہ ترتیب دینے کے لیے، درج ذیل مرحلے پر عمل کریں:
- 'C:autoexec.bat' فائل پر جائیں۔ بعد میں، 'C:autoexec.bat' کے آخر میں 'SET PATH=%PATH%;C:Program Filesjavajdkin' شامل کریں۔
لینکس، سولاریس، فری بی ایس ڈی، اور یونیکس سسٹمز کے لیے راستہ ترتیب دینے کے اقدامات
لینکس، سولاریس، فری بی ایس ڈی، اور یونیکس سسٹمز کے لیے، آپ کو PATH کو اس جگہ پر سیٹ اپ کرنا ہوگا جہاں تمام جاوا بائنریز انسٹال ہیں۔ مثال کے طور پر، bash اپنے شیل کا استعمال کریں۔ راستہ ترتیب دینے کے لیے کوڈ کی درج ذیل لائن کا استعمال کریں۔
bashrc: PATH=/path/to/java/java:$PATH برآمد کریں۔
Gson ماحولیات کو کیسے ترتیب دیا جائے؟
ایک بار جب آپ جاوا کا راستہ طے کر لیتے ہیں، تو آپ کے سسٹم کے JSON ماحول کو ترتیب دینے کے لیے باقی اقدامات یہ ہیں۔
- سب سے پہلے، آپ کو Gson آرکائیو ڈاؤن لوڈ کرنا ہوگا۔ یقینی بنائیں کہ آپ نے Gson آرکائیو کا تازہ ترین ورژن ڈاؤن لوڈ کیا ہے۔ Gson آرکائیو یا Gson jar فائل کو gson-2.3.1.jar سے ڈاؤن لوڈ کریں۔ Microsoft Windows، Linux، اور macOS سسٹمز کے لیے، JSON آرکائیو فائل کا نام 'gson-2.3.1.jar' ہے۔ gson-2.3.1.jar فائل ڈاؤن لوڈ کرنے کے بعد، اسے C:>gson فولڈر میں کاپی کریں۔
آپریٹنگ سسٹم | آرکائیو فائل کا نام |
---|---|
مائیکروسافٹ ونڈوز | gson-2.3.1.jar. |
Mac OS X | gson-2.3.1.jar. |
لینکس | gson-2.3.1.jar. |
- اگلا مرحلہ GSON_HOME ماحولیاتی متغیر کے لیے راستہ طے کرنا ہے۔ آپ کو GSON_HOME ماحول کے متغیر راستے کو اس جگہ پر ٹھیک کرنا ہوگا جہاں آپ کی gson-2.3.1.jar فائل سسٹم میں موجود ہے۔ مختلف آپریٹنگ سسٹمز کے لیے، GSON_HOME ماحول کا راستہ مختلف ہوتا ہے۔ نیچے دی گئی جدول آپ کے سسٹم کے موجودہ راستے کو GSON پاتھ میں تبدیل کرنے میں آپ کی رہنمائی کرے گی۔
آپریٹنگ سسٹم | نتیجہ |
---|---|
مائیکروسافٹ ونڈوز | ماحولیاتی متغیر کو GSON_HOME سے C:gson میں تبدیل کریں۔ |
Mac OS X | macOS.exportGSON_HOME = /usr/local/gson پر ماحولیاتی متغیر کو تبدیل کرنے کے لیے نیچے دی گئی کمانڈ پر عمل کریں۔ |
لینکس | Linux systems.exportGSON_HOME = /Library/gson پر ماحولیاتی متغیر کو تبدیل کرنے کے لیے نیچے دی گئی کمانڈ پر عمل کریں |
- GSON_HOME ماحولیاتی متغیر کے لیے JSON پاتھ سیٹ کرنے کے بعد، آپ کو ماحولیاتی متغیر کا CLASSPATH سیٹ کرنا ہوگا۔ CLASSPATH ماحولیاتی متغیر کو اس جگہ پر درست کریں جہاں آپ کی Gson jar فائل واقع ہے۔
آپریٹنگ سسٹمز | نتیجہ |
مائیکروسافٹ ونڈوز | %CLASSPATH%;%GSON_HOME%gson-2.3.1.jar;.; |
Mac OS X | ایکسپورٹ CLASSPATH = $CLASSPATH: $GSON_HOME/gson-2.3.1.jar :. |
لینکس | ایکسپورٹ CLASSPATH = $CLASSPATH: $GSON_HOME/gson-2.3.1.jar :. |
Gson Java کی مثال
ہم نے دیکھا ہے کہ آپ کے ونڈوز پر مقامی جاوا ماحول اور Gson ماحول کیسے ترتیب دیا جائے، لینکس ، اور macOS آپریٹنگ سسٹمز۔ ایک بار جب آپ Gson کوڈ کو چلانے کے لیے درکار ہر چیز کو ترتیب دے دیتے ہیں، تو آپ کسی بھی ایپلیکیشن کو انجام دینے کے لیے تیار ہو جاتے ہیں۔ آپ اپنے سسٹم پر ایک مثال خود آزما سکتے ہیں۔
نیچے دی گئی Gson مثال کو آزمانے کے لیے، آپ جاوا ایڈیٹرز میں سے کسی ایک کو استعمال کر سکتے ہیں، جیسے نوٹ پیڈ , نیٹ بینز ، یا کلپس . نوٹ پیڈ ایک عام ٹیکسٹ ایڈیٹرز میں سے ایک ہے جو جاوا کوڈ لکھنے کے لیے استعمال ہوتا ہے۔ اگر آپ کے پاس ونڈوز سسٹم ہے تو آپ جاوا کوڈ لکھنے کے لیے نوٹ پیڈ ٹیکسٹ ایڈیٹر استعمال کر سکتے ہیں۔ دوسرا پلیٹ فارم نیٹ بینز ہے۔ یہ ایک مربوط ترقیاتی ماحولیات (IDE) . آپ اپنے ونڈوز، لینکس، سولاریس اور میک او ایس سسٹم پر نیٹ بینز ڈاؤن لوڈ کر سکتے ہیں۔ جاوا کے لیے ایک اور ٹیکسٹ ایڈیٹر Eclipse ہے۔ ایکلیپس سرورز ایک سے زیادہ پروگرامنگ زبانوں کے لیے بطور ٹیکسٹ ایڈیٹر۔ آپ ونڈوز، لینکس اور میک او ایس سسٹم پر ایکلیپس ڈاؤن لوڈ کر سکتے ہیں۔
اس سے پہلے کہ ہم Gson کی مثال دیکھیں، جاوا فائل کو 'GsonEmployee' کے نام سے بنانا یاد رکھیں، جو جاوا کلاس کا نام ہے۔ بعد میں، یقینی بنائیں کہ آپ کی 'GsonEmployee' Java فائل C:>GSON_WORKSPACE میں موجود ہے۔ اپنی فائل کو اس ڈائرکٹری میں .java ایکسٹینشن کے ساتھ محفوظ کریں۔
مثال:
|_+_|آؤٹ پٹ:
مندرجہ بالا Gson کوڈ کو چلانے کے لیے ذیل میں دیے گئے اقدامات پر عمل کریں۔
- کلیدی لفظ 'javac' کا استعمال کرتے ہوئے مندرجہ بالا کوڈ کو مکمل کریں۔
- مرتب کرنے کے بعد، 'java' کی ورڈ کا استعمال کرتے ہوئے کوڈ کو چلائیں۔
- مندرجہ بالا Gson کوڈ کا نتیجہ ظاہر کیا جائے گا اگر کوڈ میں کوئی غلطیاں نہیں ہیں۔
یہاں آپ کے لیے Gson آبجیکٹ کو بنانے، سیریلائز کرنے اور ڈی سیریلائز کرنے کے بارے میں ایک سادہ گائیڈ ہے۔
- سب سے پہلے، آپ کو GsonBuilder() فنکشن کا استعمال کرتے ہوئے دوبارہ قابل استعمال Gson آبجیکٹ بنانا ہوگا۔
- Gson آبجیکٹ بنانے کے بعد، آپ کو JSON سٹرنگ کو جاوا آبجیکٹ میں ڈی سیریلائز کرنا ہوگا۔ اس مقصد کے لیے ہم fromJson() فنکشن استعمال کرتے ہیں۔ اس فنکشن میں، آپ کو دو پیرامیٹرز، JSON سٹرنگ، اور آبجیکٹ کی قسم کو پاس کرنا ہوگا۔
- بعد میں، آپ کو toJson() فنکشن کا استعمال کرتے ہوئے JSON سٹرنگ میں جاوا آبجیکٹ کو سیریلائز کرنے کی ضرورت ہے۔ اس فنکشن کے لیے صرف ایک پیرامیٹر، ایک شے کی ضرورت ہے۔
Gson - آبجیکٹ سیریلائزیشن
Gson آبجیکٹ سیریلائزیشن کا مطلب جاوا آبجیکٹ کو JSON دستاویز میں پڑھنا اور پھر JSON دستاویز کو جاوا آبجیکٹ میں پڑھنا ہے۔ آئیے ایک مثال کے ساتھ بتائیں کہ Gson آبجیکٹ سیریلائزیشن کیسے ہوتی ہے۔ آئیے ہم اسی ملازم کی مثال لیتے ہیں، جیسا کہ اوپر بحث کی گئی ہے۔ ہم نے ملازم کی شناخت، نام، عمر اور عہدہ ظاہر کیا۔ اس مثال میں، ہم وہی نتیجہ دکھائیں گے اور Gson آبجیکٹ سیریلائزیشن کو دیکھیں گے۔
اسی طرح، آپ کو GsonEmployee کے نام سے ایک کلاس بنانا ہوگی، اور اس فائل کو C:>GSON_WORKSPACE میں رکھنا ہوگا۔ اپنی فائل کا نام GsonEmployee.java کے بطور محفوظ کرنا یاد رکھیں۔
مثال
|_+_|آؤٹ پٹ:
مندرجہ بالا کوڈ پر عمل کرنے کے لیے، آپ کو اوپر بیان کردہ مراحل پر عمل کرنا ہوگا۔
- کوڈ کو مرتب کرنے کے لیے، 'javac' کلیدی لفظ استعمال کریں۔
- ایک بار مرتب ہونے کے بعد، 'java' کلیدی لفظ کا استعمال کرتے ہوئے کوڈ کو چلائیں۔
- اس کوڈ کا نتیجہ اوپر والے جیسا ہی ہوگا، جس میں ملازم کا نام، عمر اور عہدہ ظاہر ہوگا۔
جیسن کلاس
ہم نے دیکھا ہے کہ Gson آبجیکٹ کو سیریلائز کرنے کا طریقہ۔ دوسری اصطلاحات میں، ہم نے جاوا آبجیکٹ کو اس کے مساوی JSON سٹرنگ اور JSON سٹرنگ کو اس کے متعلقہ جاوا آبجیکٹ میں پڑھا ہے۔ اب، ہم Gson کلاس کی طرف بڑھیں گے۔
Gson Google Gson لائبریری کی بنیادی اور اہم کلاس ہے۔ Gson کلاس جاوا آبجیکٹ کو JSON سٹرنگ اور JSON سٹرنگ کو متعلقہ جاوا آبجیکٹ میں تبدیل کرنے کے لیے ذمہ دار ہے۔ Gson کلاس کے لیے، آپ کو پہلے GsonBuilder() فنکشن استعمال کرنے کی ضرورت ہے، اور پھر JSON سٹرنگز کو پڑھنے اور لکھنے کے لیے toJson()، اور fromJson() فنکشنز کا استعمال کریں۔ ذیل میں com.google.gson.Gson کے لیے کلاس ڈیکلریشن نحو ہے۔
نحو:
|_+_|جیسن بلڈر
جاوا کوڈ میں استعمال کرنے کے لیے ایک Gson کنسٹرکٹر موجود ہے۔ اس کی تعریف Gson() کے طور پر کی گئی ہے۔ Gson() کنسٹرکٹر Gson آبجیکٹ تخلیق کرتا ہے۔ چونکہ Gson() کو کوئی پیرامیٹرز پاس نہیں کیے گئے ہیں، یہ ڈیفالٹ کنفیگریشن لیتا ہے۔
Gson کلاس کے طریقے
اب ہم Gson کلاس کے طریقوں کی طرف بڑھیں گے۔ ذیل میں ان کی تفصیل کے ساتھ Gson کلاس کے کچھ موثر طریقے ہیں۔
- سب سے پہلے، آپ کو Gson() طریقہ استعمال کرتے ہوئے ایک Gson مثال بنانے کی ضرورت ہے۔
- اب، جاوا آبجیکٹ کو JSON ویلیو میں تبدیل کریں۔ جاوا آبجیکٹ کو کلاس، ملازم کے لیے emp کے طور پر سمجھیں۔
- آخر میں، JSON ویلیو یا سٹرنگ کو اس کے متعلقہ جاوا آبجیکٹ میں تبدیل کریں۔ کلاس ملازم پر غور کریں اور کسی چیز کو emp1 کے طور پر لیں۔
- جیسا کہ ہم JSON ڈیٹا کو پڑھنے پر توجہ مرکوز کر رہے ہیں، ہم JsonReader() فنکشن استعمال کریں گے۔ سب سے پہلے، آپ کو JsonReader() فنکشن کا ایک آبجیکٹ تیار کرنا ہوگا اور اس آبجیکٹ کو JSON ٹیکسٹ میں منتقل کرنا ہوگا۔
- ایک آبجیکٹ بنانے کے بعد، اس آبجیکٹ کے ساتھ JSON ٹیکسٹ پڑھنا شروع کریں اور ٹوکن حاصل کریں۔
- آخر میں، آپ کو اس ٹوکن کی قسم کو چیک کرنا ہوگا جو آپ JSON متن کو پڑھنے کے بعد حاصل کرتے ہیں۔
- JsonParser() طریقہ درخت بنانے کے لیے استعمال کیا جاتا ہے۔ پہلا قدم JsonParser() طریقہ کی مثال یا اعتراض بنانا ہے۔
- اگلا مرحلہ اس سٹرنگ یا JSON ڈیٹا کی وضاحت کرنا ہے جسے آپ درخت نما ڈھانچے میں دکھانا چاہتے ہیں۔
- آخری مرحلہ مندرجہ بالا مخصوص ڈیٹا سے ایک درخت بنانا ہے۔
- ڈیٹا بائنڈنگ JSON ویلیو کو POJO اور POJO کو متعلقہ JSON ویلیو میں تبدیل کر دیتی ہے۔
- اسٹریمنگ API اپروچ JSON ڈیٹا کو ٹوکن کے طور پر پڑھنے اور لکھنے کے لیے JsonReader اور JsonWriter کا استعمال کرتا ہے۔
- درخت کا ماڈل طریقہ JSON دستاویز کو درخت کی طرح کی ساخت میں پیش کرتا ہے۔
مندرجہ بالا Gson کلاس کا طریقہ ایک خاص پارس ٹری کا استعمال کرتا ہے تاکہ Json کو اس سے پڑھے جانے والے مخصوص آبجیکٹ کی قسم میں ڈی سیریلائز کیا جا سکے۔
یہ Gson کلاس طریقہ بھی اسی مقصد کے لیے استعمال کیا جاتا ہے جیسا کہ اوپر دیا گیا طریقہ۔ یہ مخصوص پارس ٹری سے پڑھنے والے Json کا استعمال کرتا ہے اور اسے اس کے مساوی آبجیکٹ کی قسم میں تبدیل کرتا ہے۔
مندرجہ بالا Gson کلاس طریقہ Json کو کسی خاص قاری سے پڑھتا ہے اور اسے مخصوص آبجیکٹ کی قسم میں ڈی سیریلائز کرتا ہے۔
آپ کسی خاص قاری سے اگلی JSON سٹرنگ یا قدر پڑھنے کے لیے اوپر Gson کلاس کا طریقہ استعمال کر سکتے ہیں۔ پڑھنے کے بعد، یہ طریقہ JSON ویلیو کو typeOfT آبجیکٹ میں بدل دیتا ہے۔
یہ Gson کلاس طریقہ JSON کو مخصوص ریڈر سے پڑھتا ہے اور اسے مخصوص کلاس آبجیکٹ میں ڈی سیریلائز کرتا ہے۔
جب آپ کو کسی خاص قسم کے لیے متبادل قسم کے اڈاپٹر کی ضرورت ہوتی ہے، تو آپ اوپر Gson کلاس طریقہ استعمال کر سکتے ہیں۔
یہ Gson کلاس طریقہ مخصوص قسم کے لیے ٹائپ اڈاپٹر حاصل کرنے کے لیے استعمال کیا جاتا ہے۔
جب آپ کسی بھی JSON سٹرنگ کو کسی مخصوص کلاس آبجیکٹ میں ڈی سیریلائز کرنا چاہتے ہیں، تو آپ اوپر Gson کلاس طریقہ استعمال کر سکتے ہیں۔
اگر آپ کسی خاص قسم کے لیے ٹائپ اڈاپٹر حاصل کرنا چاہتے ہیں، تو یہ دوبارہ استعمال کرنے کا ایک Gson طریقہ ہے۔
مندرجہ بالا Gson کلاس کا طریقہ JSON سٹرنگ کو کسی خاص قسم کے آبجیکٹ میں تبدیل کرتا ہے۔
مخصوص جاوا آبجیکٹ کو اس کی متعلقہ JSON نمائندگی میں سیریلائز کرنے کے لیے، اوپر Gson طریقہ استعمال کیا جاتا ہے۔
مندرجہ بالا Gson کلاس کا طریقہ jsonElement کے مصنف کو JSON لکھنے کے لیے استعمال کیا جاتا ہے۔
JSON عناصر کو درخت کی طرح کی ساخت میں ترتیب دیا گیا ہے۔ جب آپ JSON عناصر کی ان کے مساوی نمائندگی میں نمائندگی کرنا چاہتے ہیں، تو آپ کو اوپر Gson طریقہ استعمال کرنا ہوگا۔
مندرجہ بالا طریقہ ایک اور Gson طریقہ ہے جو کسی خاص جاوا آبجیکٹ کو اس کے متعلقہ JSON سٹرنگ یا نمائندگی میں سیریلائز کرنے کے لیے استعمال کیا جاتا ہے۔
درخت میں موجود تمام JsonELements کے لیے، اوپر Gson کلاس کا طریقہ ان کے مساوی JSON لکھتا ہے۔
یہ Gson طریقہ مخصوص آبجیکٹ کو اس کے متعلقہ JSON سٹرنگ میں سیریلائز کرنے کے لیے استعمال کیا جاتا ہے۔ یہ عام قسم کی اشیاء کو بھی سیریلائز کرتا ہے۔
مندرجہ بالا Gson طریقہ کسی خاص جاوا آبجیکٹ کو اس کی متعلقہ JSON قدر میں تبدیل کرتا ہے۔ یہ JsonElements درخت میں JSON قدر کی نمائندگی کرتا ہے۔
ایک بار پھر، مندرجہ بالا طریقہ Gson کلاس میں ایک طریقہ ہے، جو مخصوص جاوا اشیاء کو، بشمول تمام عام اقسام، کو ان کی متعلقہ JSON اقدار میں تبدیل کرتا ہے۔
یہ Gson طریقہ ٹائپ او ایف ایس آر سی ٹائپ کے src کو مصنف کو اس کی JSON نمائندگی میں لکھنے کے لیے استعمال کیا جاتا ہے۔
مندرجہ بالا طریقہ ایک خاص جاوا آبجیکٹ کو، بشمول تمام عام اقسام، کو مخصوص JSON نمائندگی میں تبدیل کرتا ہے۔ یہ JsonElements درخت میں JSON قدر کی نمائندگی کرتا ہے۔
Gson کلاس کو java.lang.Object کلاس سے مذکورہ بالا تمام طریقے وراثت میں ملے ہیں۔ آئیے ہم ایک مثال دیکھتے ہیں جس میں ملازم کی شناخت، نام، عمر، اور پوزیشن دکھائی جاتی ہے۔ یقینی بنائیں کہ آپ کلاس کا نام وہی استعمال کرتے ہیں جو آپ کی فائل کے نام کا ہے۔ غور کریں کہ ہم نے اپنی جاوا فائل کو C:/>GSON_WORKSPACE پر اسٹور کیا ہے۔ نیچے دی گئی مثال میں، فائل کا نام GsonEmployee2.java ہے۔
مثال:
|_+_|آؤٹ پٹ:
جاوا کوڈ لکھنے اور کلاس کے نام سے ملتے جلتے نام کے ساتھ محفوظ کرنے کے بعد، آپ کو اسے مرتب کرنا ہوگا۔ مرتب کرنے کے لیے نیچے دی گئی کمانڈ کا استعمال کریں۔
|_+_|جاوا فائل، GsonEmployee2.java، مرتب ہو جاتی ہے۔
تالیف کے بعد، آپ نے اسے نیچے دی گئی کمانڈ کا استعمال کرتے ہوئے چلایا ہے۔
|_+_|آؤٹ پٹ مندرجہ ذیل طور پر دکھایا جائے گا:
|_+_|Gson میں ڈیٹا بائنڈنگ
ہم نے Gson کی طرف سے فراہم کردہ JSON کی پروسیسنگ کی تین مختلف شکلیں دیکھی ہیں۔ Gson میں JSON پروسیسنگ فارمز میں سے ایک ڈیٹا بائنڈنگ ہے۔ ڈیٹا بائنڈنگ پروسیسنگ فارم کا استعمال کرتے ہوئے، آپ JSON کو Plain Old Java Object (POJO) اور POJO کو JSON میں تبدیل کر سکتے ہیں۔ JSON اور POJO کے درمیان تبدیلی پراپرٹی ایکسیسر یا تشریحات کا استعمال کرتے ہوئے ہوتی ہے۔ پراپرٹی ایکسیسر تشریحات دو مختلف قسم کی ہیں، پرائمیٹو ڈیٹا بائنڈنگ اور آبجیکٹ ڈیٹا بائنڈنگ۔
پرائمیٹو ڈیٹا بائنڈنگ: یہ پراپرٹی ایکسیسر یا تشریح JSON کو جاوا ڈیٹا کی مختلف اقسام، جیسے Maps، Strings، Booleans، Lists، اور Null میں تبدیل کرتی ہے۔ یہ ان تمام ذکر کردہ آبجیکٹ ڈیٹا کی اقسام کو JSON میں بھی تبدیل کرتا ہے۔
آبجیکٹ ڈیٹا بائنڈنگ: آبجیکٹ ڈیٹا بائنڈنگ کسی بھی JSON ویلیو کو JAVA قسم اور اس کے برعکس بدلتی ہے۔
JSON کی پروسیسنگ کا ڈیٹا بائنڈنگ اپروچ XML' JAXB پارس سے ملتا جلتا ہے۔ Gson مندرجہ بالا دو ڈیٹا بائنڈنگ اقسام میں سے کسی میں بھی JSON اقدار کو پڑھ اور لکھ سکتا ہے۔ آئیے ذیل میں ہر ڈیٹا بائنڈنگ قسم کا تفصیل سے مطالعہ کریں۔
پرائمیٹو ڈیٹا بائنڈنگ
JSON کی پروسیسنگ کے لیے پرائمیٹو ڈیٹا بائنڈنگ اپروچ JSON ویلیو کو جاوا ڈیٹا کی کسی بھی قسم میں تبدیل کرتا ہے۔ ڈیٹا بائنڈنگ اپروچ میں، Gson کئی بلٹ ان اڈاپٹر پیش کرتا ہے۔ یہ اڈاپٹر قدیم ڈیٹا کی اقسام کو سیریلائز کرنے اور ڈی سیریلائز کرنے کے لیے استعمال ہوتے ہیں۔ آئیے ایک مثال کا استعمال کرتے ہوئے JSON پر کارروائی کرنے کے لیے Gson کے قدیم ڈیٹا بائنڈنگ طریقہ کو سمجھیں۔
ذیل میں ایک مثال ہے جو JSON اور Java پرائمیٹو ڈیٹا کی اقسام کے درمیان تبدیلی کو ظاہر کرتی ہے۔ آپ کو یاد رکھنا ہوگا کہ آپ کی فائل کا نام کلاس کے نام جیسا ہی ہونا چاہیے۔ اپنی فائل کو C:>GSON_WORKSPACE میں محفوظ کریں۔ ذیل کی مثال میں، فائل کا نام GsonEmployee3.java ہے۔
مثال:
|_+_|آؤٹ پٹ:
سب سے پہلے، آپ کو مندرجہ بالا کوڈ کو درج ذیل کمانڈ کا استعمال کرتے ہوئے مرتب کرنے کی ضرورت ہے۔
|_+_|مرتب کرنے کے بعد، آپ کو نیچے دی گئی کمانڈ کا استعمال کرتے ہوئے کوڈ کو چلانا ہوگا۔
|_+_|مندرجہ ذیل آؤٹ پٹ دکھایا جائے گا.
|_+_|یہاں، آپ پرائمیٹو ڈیٹا بائنڈنگ اپروچ کا استعمال کرتے ہوئے سیریلائز اور ڈی سیریلائز کرنے کے بعد پیدا ہونے والے آؤٹ پٹ کے درمیان فرق کو واضح طور پر دیکھ سکتے ہیں۔
آبجیکٹ ڈیٹا بائنڈنگ
اب، ہم JSON پر کارروائی کے لیے Gson کے آبجیکٹ ڈیٹا بائنڈنگ اپروچ کی طرف بڑھیں گے۔ یہ نقطہ نظر JSON قدر کو کسی بھی JAVA قسم اور کسی بھی Java آبجیکٹ کو اس کی متعلقہ JSON نمائندگی کے لیے نقشہ بناتا ہے۔ آبجیکٹ ڈیٹا بائنڈنگ کے عمل کی ذیل میں وضاحت کی گئی ہے۔
مندرجہ بالا ان اقدامات کو استعمال کرتے ہوئے، ہم آبجیکٹ ڈیٹا بائنڈنگ اپروچ کی ایک سیدھی سی مثال پر عمل کریں گے۔ ہم کلاس کا نام بطور GsonEmployee4 استعمال کریں گے۔ لہذا، فائل کا نام GsonEmployee4.java کے طور پر محفوظ کیا جانا چاہئے۔ اس مثال میں، ہم ایک ملازم کی معلومات ڈسپلے کریں گے جس میں نام، شناخت، پوزیشن، عمر اور شہر شامل ہیں۔
مثال:
|_+_|آؤٹ پٹ:
اب، آپ کو اپنا کوڈ مرتب کرنا ہوگا۔ مرتب کرنے کے لیے نیچے دی گئی کمانڈ پر عمل کریں۔
|_+_|کمانڈ کا استعمال کرتے ہوئے اپنا کوڈ چلائیں،
|_+_|آپ کو درج ذیل آؤٹ پٹ ملے گا:
|_+_|یہاں، ہم نے مثالوں کے ساتھ JSON پر کارروائی کرنے کے لیے Gson کے ڈیٹا بائنڈنگ اپروچ کا مشاہدہ کیا ہے۔ آئیے اب ایک اور JSON پروسیسنگ اپروچ دیکھتے ہیں۔
Gson میں سٹریمنگ API
سٹریمنگ API JSON پر کارروائی کرنے کے لیے Gson کی ایک اور شکل ہے۔ سٹریمنگ API اپروچ میں، JSON ویلیو کو ٹوکن کے طور پر پڑھا اور لکھا جاتا ہے۔ یہ نقطہ نظر ہر JSON قدر کو ایک مجرد واقعہ سمجھتا ہے۔ یہاں، JsonReader JSON ڈیٹا کو پڑھتا ہے، اور JsonWriter Json ڈیٹا کو بطور ٹوکن لکھتا ہے۔ لہذا، اسے JsonToken کے نام سے جانا جاتا ہے۔
سٹریمنگ API ہر JSON ڈیٹا کو احتیاط سے مانیٹر کرنے کے لیے بہت مشہور ہے۔ اس مضمون میں، ہم اسٹریمنگ API طریقہ استعمال کرتے ہوئے JSON ڈیٹا کو پڑھتے ہوئے دیکھیں گے۔ JSON ڈیٹا کو پڑھنے کا عمل اس طرح ہوتا ہے:
یہاں، 'jsread' JsonReader() فنکشن کا آبجیکٹ ہے۔
ہم JsonReader کی ایک مثال دیکھیں گے۔ کلاس کا نام EmployeeRead کے طور پر لیں۔ C: میں فائل کا نام EmployeeRead.java کے بطور محفوظ کرنا یقینی بنائیں۔ مثال: آؤٹ پٹ: مندرجہ بالا کوڈ کو مرتب کرنے کے لیے، درج ذیل کمانڈ کو ٹائپ کریں، مرتب کرنے کے بعد، کوڈ کی نیچے دی گئی لائن کا استعمال کرتے ہوئے پروگرام کو چلائیں، آؤٹ پٹ اس طرح ہو گا: یہ سب JSON پر کارروائی کرنے کے لیے اسٹریمنگ API اپروچ کے بارے میں تھا۔ اب، آئیے حتمی شکل، ٹری ماڈل کی طرف چلتے ہیں۔ Gson کی طرف سے پیش کردہ JSON کی پروسیسنگ میں آخری طریقہ ٹری ماڈل ہے۔ جیسا کہ اس کے نام سے پتہ چلتا ہے، یہ JSON دستاویز کی درخت نما ساخت میں نمائندگی کرتا ہے۔ اس درخت کی طرح کی ساخت میں JsonObject نوڈس شامل ہیں۔ ٹری ماڈل XML کے DOM پارسر کی طرح ہے۔ آئیے اب دیکھتے ہیں کہ درخت کیسے بنایا جائے اور درخت کو کیسے عبور کیا جائے۔ JSON دستاویز سے درخت بنانے کے لیے، ہم JsonParser() طریقہ استعمال کریں گے۔ JsonParser() طریقہ کار میں اس کے ساتھ ایک پوائنٹر ہوتا ہے، جو JSON دستاویز کو پڑھتا ہے اور درخت کی جڑ کی طرف اشارہ کرتا ہے۔ ایک واحد جڑ نوڈ کا استعمال کرتے ہوئے، ہم پورے درخت سے گزر سکتے ہیں۔ یہاں ایک چھوٹا کوڈ ہے جو JSON ڈیٹا سے درخت بنانے میں آپ کی مدد کرے گا۔ JSON ڈیٹا سے درخت بنانے کے لیے درج ذیل اقدامات پر عمل کریں: یہاں، 'jsparser' JsonParser() طریقہ کا مقصد ہے۔ ہم نے JSON ڈیٹا سے درخت بنانے کا طریقہ دیکھا ہے۔ اب، ہم دیکھیں گے کہ JSON دستاویز سے ڈیزائن کردہ درخت کو کیسے عبور کیا جائے۔ درخت کو عبور کرنے کے لیے، آپ کو اس مخصوص نوڈ سے جڑ نوڈ تک ہر نوڈ کا راستہ دیکھنا ہوگا۔ یہاں آپ کے لیے ایک چھوٹا کوڈ ہے جو درخت سے گزرنے کے بارے میں رہنمائی کرتا ہے۔ یہ درخت کو عبور کرنے کی ایک سیدھی سی مثال تھی۔ اب، ہمارے پاس jSON ڈیٹا سے درخت کو بنانے اور اس کو عبور کرنے کی ایک ہی مثال ہوگی۔ ہم ایک کلاس کا نام GsonTree بنائیں گے۔ لہذا، یقینی بنائیں کہ فائل کو GsonTree.java نام کے ساتھ C:>Gson_WORKSPACE میں محفوظ کریں۔ مثال: آؤٹ پٹ: مندرجہ بالا پروگرام کو مرتب کرنے کے لیے، نیچے دی گئی کمانڈ کا استعمال کریں، مرتب کرنے کے بعد، آپ کو درج ذیل کوڈ کا استعمال کرتے ہوئے چلانے کی ضرورت ہے، آؤٹ پٹ مندرجہ ذیل طور پر دکھایا جائے گا: ہم نے متعلقہ مثالوں کے ساتھ Gson کے پیش کردہ تینوں JSON پروسیسنگ فارم دیکھے ہیں۔ آئیے اب Gson میں کچھ سیریلائزیشن اور ڈی سیریلائزیشن کی مثالوں پر عمل کرتے ہیں۔ یہ سیکشن آپ کو Gson میں سیریلائزیشن اور ڈی سیریلائزیشن کی کچھ آسان اور سیدھی مثالیں فراہم کرے گا۔ ہم Array، Collections، اور Generic Types کی مثالیں دیکھیں گے۔ ارے سیریلائزیشن اور ڈی سیریلائزیشن کی بہتر تفہیم کے لیے ہم یہاں ایک چھوٹا کوڈ پیش کریں گے۔ اب، ہم ایک مکمل کوڈ پر عمل کریں گے، جو آپ کو ارے سیریلائزیشن اور ڈی سیریلائزیشن کو سمجھے گا۔ ہم ایک کلاس GsonColor بنائیں گے۔ اپنی جاوا فائل، جس کا نام GsonColor.java ہے، کو C:>GSON_WORKSPACE میں محفوظ کرنا یقینی بنائیں۔ مندرجہ بالا کوڈ کو مرتب کرنے کے لیے، درج ذیل کمانڈ کو ٹائپ کریں، مندرجہ ذیل کمانڈ کا استعمال کرتے ہوئے مندرجہ بالا کوڈ کو چلائیں، آؤٹ پٹ اس طرح دکھایا جائے گا: Gson میں، جاوا ریفلیکشن API موجود ہے۔ یہ API اس آبجیکٹ کی قسم کی نشاندہی کرنے میں کارآمد ہے جس میں JSON سٹرنگ یا ویلیو کو میپ کیا گیا ہے۔ جب آپ Gson میں generics استعمال کرتے ہیں، تو JSON قدر جو اس کے متعلقہ آبجیکٹ کی قسم میں ظاہر ہوتی ہے سیریلائزیشن میں دستیاب نہیں ہوتی ہے۔ لہذا، Gson generics میں اس مسئلے پر قابو پانے کے لیے، ایک کلاس ہے، com.google.gson.reflect.TypeToken۔ اس کلاس کا بنیادی کام عام آبجیکٹ کو پکڑنا ہے۔ ہمارے پاس ذیل میں ایک عام قسم کی مثال ہوگی۔ آئیے ایک کلاس بنائیں، GsonGenerics۔ یقینی بنائیں کہ جاوا پروگرام فائل کو C:>GSON_WORKSPACE میں GsonGenerics.java نام کے ساتھ محفوظ کریں۔ کمانڈ کا استعمال کرتے ہوئے مندرجہ بالا کوڈ کو مرتب کریں۔ نیچے دی گئی کمانڈ کا استعمال کرتے ہوئے کوڈ کو چلائیں۔ مندرجہ بالا پروگرام پر عمل درآمد ہونے پر درج ذیل آؤٹ پٹ پیدا ہوگا۔ Gson میں جمع کرنے کی مثال میں ArrayList() طریقہ شامل ہے۔ Gson میں سیریلائزیشن اور ڈی سیریلائزیشن جمع کرنے کی مثال کو سمجھنے کے لیے آپ کے لیے یہ ایک چھوٹا کوڈ لاک ہے۔ یہ چھوٹا سا کوڈ تھا۔ اب آئیے کوڈ کی کچھ بڑی لائنوں کو دیکھتے ہیں جو Gson میں مجموعوں کی سیریلائزیشن اور ڈی سیریلائزیشن کی نمائندگی کرتی ہیں۔ ایک کلاس GsonCollection بنائیں اور جاوا پروگرام فائل کو GsonCollection.java نام کے ساتھ محفوظ کریں۔ فائل کو C:>GSON_WORKSPACE میں محفوظ کریں۔ درج ذیل کمانڈ کا استعمال کرتے ہوئے فائل کو مرتب کریں، مندرجہ بالا فائل کو ٹائپ کرکے چلائیں پھر کمانڈ پرامپٹ پر درج ذیل کمانڈ، Gson میں مندرجہ بالا جمع کرنے کے پروگرام کا نتیجہ درج ذیل ہے۔ Gson ایک ٹول کٹ ہے، جو آپ کو JSON سٹرنگ یا ویلیو کو متعلقہ جاوا آبجیکٹ اور جاوا آبجیکٹ کو اس کے مساوی JSON سٹرنگ یا ویلیو میں تبدیل کرنے کے قابل بناتا ہے۔ Gson JSON کے لیے پروسیسنگ کے تین مختلف طریقے پیش کرتا ہے۔ ہم نے دیکھا ہے کہ Gson کے لیے ماحول کے متغیر کو کیسے ترتیب دیا جائے۔ Gson ماحولیاتی متغیر کو ترتیب دینے کے بعد، آپ Gson کوڈ چلاتے ہیں۔ اگلا، آپ آبجیکٹ سیریلائزیشن کی ایک مثال دیکھ سکتے ہیں۔ آبجیکٹ سیریلائزیشن میں، JSON دستاویز کو جاوا آبجیکٹ میں پڑھا جاتا ہے، اور جاوا آبجیکٹ کو اس کے متعلقہ JSON دستاویز میں پڑھا جاتا ہے۔ اگلا، ہم نے سادہ Gson پروگرام اور Gson کلاس کے طریقے دیکھے۔ ہر JSON پروسیسنگ اپروچ، ڈیٹا بائنڈنگ، ٹری ماڈل، اور اسٹریمنگ API کو ایک ایک مثال کے ساتھ بیان کیا گیا ہے۔ بعد میں، ہم نے Gson میں سیریلائزیشن اور ڈی سیریلائزیشن کی مثالوں کا احاطہ کیا ہے۔ ہم نے ایک صف کی مثال، عام قسم کی مثال، اور مجموعہ کی مثال کو انجام دیا۔ Gson میں درختوں کا ماڈل
JSON دستاویز سے درخت کیسے بنایا جائے؟
|_+_|
|_+_|
|_+_| درخت کو کیسے عبور کیا جائے؟
Gson میں سیریلائزیشن اور ڈی سیریلائزیشن کی مثالیں۔
Gson میں صف کی مثال
مثال:
|_+_| آؤٹ پٹ:
Gson میں عمومی مثال
مثال
|_+_| آؤٹ پٹ
Gson میں مجموعوں کی مثال
مثال
|_+_| آؤٹ پٹ
نتیجہ