C++ میں JSON فائلوں کو کیسے پڑھیں اور لکھیں۔

C My Json Faylw Kw Kys P Y Awr Lk Y



C++ ایک ورسٹائل زبان ہے جس میں JSON ڈیٹا سے نمٹنے کے لیے لائبریریوں کا ایک سیٹ ہے۔ JavaScript آبجیکٹ نوٹیشن (JSON) ڈیٹا کے تبادلے کا ایک فارمیٹ ہے جو انسانوں کے لیے لکھنا اور پڑھنا آسان ہے اور مشینیں آسانی سے جنریٹ اور پارس کر سکتی ہیں۔ یہ ویب ایپلیکیشنز اور سرورز کے درمیان ڈیٹا کی منتقلی، اور ڈیٹا کو ذخیرہ کرنے کے ساتھ ساتھ فائلوں کی ترتیب کے لیے استعمال ہوتا ہے۔

C++ میں JSON فائلوں کو کیسے پڑھیں اور لکھیں۔

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







Rapidjson کا استعمال کرتے ہوئے JSON ڈیٹا کو پڑھنے اور لکھنے کے لیے، rapidjson::دستاویز کی کلاس استعمال کی جاتی ہے۔ یہ کلاس فائل سے JSON ڈیٹا بنانے اور پارس کرنے کے لیے ایک اعلیٰ سطح کا API فراہم کرتی ہے اور ڈیٹا کی ہیرا پھیری کو بھی ممکن بناتی ہے۔



C++ میں JSON فائل سے ڈیٹا پڑھنے کی مثال

یہ ریپڈ جےسن لائبریری کا استعمال کرتے ہوئے C++ میں JSON فائل سے ڈیٹا پڑھنے کے لیے ایک مثالی کوڈ ہے۔



#include 'rapidjson/document.h'
#include 'rapidjson/stringbuffer.h'
#include 'rapidjson/filereadstream.h'
#include
# شامل کریں

namespace rapidjson کا استعمال کرتے ہوئے؛

اہم int ( )
{
// کھولو فائل کے لیے پڑھنا
فائل * fp = fopen ( 'example.json' , 'ر' ) ;

// فائل ریڈ اسٹریم استعمال کریں۔
// پڑھیں سے ڈیٹا فائل
char readBuffer [ 65536 ] ;
rapidjson::FileReadStream ہے۔ ( fp، readBuffer،
کا سائز ( ریڈ بفر ) ) ;

// JSON ڈیٹا کو پارس کریں۔
// ایک دستاویز آبجیکٹ کا استعمال کرتے ہوئے
rapidjson::دستاویز d؛
d. پارس اسٹریم ( ہے ) ;

// بند کرو فائل
fclose ( fp ) ;

// ڈیٹا تک رسائی حاصل کریں۔ میں JSON دستاویز
std::cout << d [ 'نام' ] .GetString ( ) << std::endl;
std::cout << d [ 'عمر' ] .ٹنٹڈ ( ) << std::endl;

واپسی 0 ;
}


fopen() فنکشن فائل کو کھولنے کے لیے استعمال کیا جاتا ہے۔ ہیڈر فائل <<#include “rapidjson/filereadstream.h”>> فائل کے ڈیٹا کو ایک سٹرنگ میں پڑھتی ہے جسے json کا نام دیا گیا ہے۔ دستاویز دستاویز کو فائل کے ڈیٹا کو رکھنے کے لیے بنایا گیا ہے۔ اسٹرنگ کو پارس کیا جاتا ہے، اور اس کی غلطیوں کی جانچ پڑتال کی جاتی ہے، اگر غلطیاں پائی جاتی ہیں تو یہ ایک غلطی واپس کر دیتی ہے ورنہ دستاویز JSON کے ڈیٹا تک رسائی کے لیے استعمال ہوتی ہے۔





C++ میں JSON فائل میں ڈیٹا لکھنے کی مثال

Rapidjson لائبریری کو JSON فائلوں میں ڈیٹا لکھنے کے لیے دستاویز کی کلاس بنا کر استعمال کیا جا سکتا ہے۔ C++ میں JSON فائل میں ڈیٹا لکھنے کے لیے یہ ایک مثالی کوڈ ہے:



#include 'rapidjson/document.h'
#include 'rapidjson/filereadstream.h'
#include 'rapidjson/filewritestream.h'
#include 'rapidjson/writer.h'

namespace rapidjson کا استعمال کرتے ہوئے؛

اہم int ( )
{
// JSON پڑھیں فائل
فائل * fp
= fopen ( 'example.json' , 'ر ب' ) ;
char readBuffer [ 65536 ] ;
FileReadStream ہے ( fp، readBuffer، sizeof ( ریڈ بفر ) ) ;
دستاویز d؛
d. پارس اسٹریم ( ہے ) ;
fclose ( fp ) ;


قدر اور s = d [ 'نام' ] ;
s.SetString ( 'سائمن' ، d.GetAllocator ( ) ) ;

// JSON لکھیں۔ فائل
فائل * fp2 = fopen ( 'example_modified.json' ,
'ڈبلیو بی' ) ;
char writeBuffer [ 65536 ] ;
فائل رائٹ اسٹریم او ایس ( fp2، رائٹ بفر،
کا سائز ( بفر لکھیں۔ ) ) ;
لکھاری < فائل رائٹ اسٹریم > مصنف ( تم ) ;
d.قبول کرنا ( مصنف ) ;
fclose ( fp2 ) ;

واپسی 0 ;
}


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


نام اور عمر دونوں فائل میں لکھے جاتے ہیں اور آؤٹ پٹ ٹرمینل پر دکھائے جاتے ہیں۔

نتیجہ

JSON ایک ڈیٹا فارمیٹ ہے جو منتقلی کے لیے ڈیٹا کے سائز کو کم کرنا ممکن بناتا ہے اور اس کے نتیجے میں ڈیٹا کی منتقلی کی کارکردگی اور پروسیسنگ میں بہتری آتی ہے۔ Rapidjson کا استعمال کرتے ہوئے JSON ڈیٹا کو پڑھنے اور لکھنے کے لیے، rapidjson::دستاویز کی کلاس استعمال کی جاتی ہے۔ یہ کلاس فائل سے JSON ڈیٹا بنانے اور پارس کرنے کے لیے ایک اعلیٰ سطح کا API فراہم کرتی ہے اور ڈیٹا کی ہیرا پھیری کو بھی ممکن بناتی ہے۔