কিভাবে C++ এ JSON ফাইল পড়তে ও লিখতে হয়

Kibhabe C E Json Pha Ila Parate O Likhate Haya



C++ হল একটি বহুমুখী ভাষা যাতে JSON ডেটা নিয়ে কাজ করার জন্য লাইব্রেরির একটি সেট রয়েছে। JavaScript অবজেক্ট নোটেশন (JSON) হল ডেটা আদান-প্রদানের জন্য একটি বিন্যাস যা মানুষের পক্ষে লিখতে এবং পড়তে সহজ এবং মেশিনগুলি সহজেই তৈরি এবং পার্স করতে পারে। এটি ওয়েব অ্যাপ্লিকেশন এবং সার্ভারের মধ্যে ডেটা প্রেরণের জন্য এবং ডেটা সংরক্ষণের পাশাপাশি ফাইলগুলির কনফিগারেশনের জন্য ব্যবহৃত হয়।

কিভাবে C++ এ JSON ফাইল পড়তে ও লিখতে হয়

JSON হল একটি ডেটা বিন্যাস যা ওয়েবে স্ট্রাকচার্ড ডেটা সংরক্ষণ এবং স্থানান্তর করার একটি পছন্দের উপায়। এটি হালকা ওজনের, যা ডেটা স্থানান্তরকে সহজ করে তোলে এবং ডেটা স্থানান্তরের উন্নত দক্ষতা এবং প্রক্রিয়াকরণের ফলে। C++ এ র‍্যাপিডজসন হল একটি লাইব্রেরি যেখানে JSON পার্স এবং জেনারেট করার ফাংশন রয়েছে। এই লাইব্রেরিটি শুধুমাত্র একজনকে JSON ডেটা পড়তে এবং লিখতে সক্ষম করে না বরং JSON-এর বস্তুর ম্যানিপুলেশন এবং যাচাইকরণের অনুমতি দেয়। এটি একটি স্ট্রিমিং ফ্যাশনে JSON এর বড় ডেটাসেটগুলি পরিচালনা করার জন্য ফাংশনগুলিকে সমর্থন করে৷







rapidjson ব্যবহার করে JSON ডেটা পড়তে এবং লিখতে, rapidjson::Document ক্লাস ব্যবহার করা হয়। এই ক্লাসটি একটি ফাইল থেকে JSON ডেটা তৈরি এবং পার্স করার জন্য একটি উচ্চ-স্তরের API প্রদান করে এবং ডেটা ম্যানিপুলেশনও সম্ভব করে তোলে।



C++ এ JSON ফাইল থেকে ডেটা পড়ার উদাহরণ

রেপিডজসন লাইব্রেরি ব্যবহার করে C++ এ একটি JSON ফাইল থেকে ডেটা পড়ার জন্য এটি একটি উদাহরণ কোড:



# 'rapidjson/document.h' অন্তর্ভুক্ত করুন
# 'rapidjson/stringbuffer.h' অন্তর্ভুক্ত করুন
# 'rapidjson/filereadstream.h' অন্তর্ভুক্ত করুন
# অন্তর্ভুক্ত করুন
# অন্তর্ভুক্ত করুন

নামস্থান দ্রুতজসন ব্যবহার করে;

int প্রধান ( )
{
// খোলা ফাইল জন্য পড়া
ফাইল * fp = fopen ( 'example.json' , 'আর' ) ;

// একটি FileReadStream ব্যবহার করুন
// পড়া থেকে তথ্য ফাইল
char readBuffer [ 65536 ] ;
rapidjson::FileReadStream হল ( fp, readBuffer,
আকার ( readBuffer ) ) ;

// JSON ডেটা পার্স করুন
// একটি নথি বস্তু ব্যবহার করে
দ্রুতজসন::ডকুমেন্ট ডি;
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 ফাইলে ডেটা লেখার উদাহরণ

একটি ডকুমেন্ট ক্লাস তৈরি করে JSON ফাইলগুলিতে ডেটা লেখার জন্য র্যাপিডজসন লাইব্রেরি ব্যবহার করা যেতে পারে। এটি C++ এ JSON ফাইলে ডেটা লেখার জন্য একটি উদাহরণ কোড:



# 'rapidjson/document.h' অন্তর্ভুক্ত করুন
# 'rapidjson/filereadstream.h' অন্তর্ভুক্ত করুন
# 'rapidjson/filewritestream.h' অন্তর্ভুক্ত করুন
# 'rapidjson/writer.h' অন্তর্ভুক্ত করুন

নামস্থান দ্রুতজসন ব্যবহার করে;

int প্রধান ( )
{
// JSON পড়ুন ফাইল
ফাইল * fp
= fopen ( 'example.json' , 'আরবি' ) ;
char readBuffer [ 65536 ] ;
FileReadStream হল ( fp, readBuffer, sizeof ( readBuffer ) ) ;
নথি d;
d. পার্স স্ট্রীম ( হয় ) ;
fclose ( fp ) ;


মান এবং s = d [ 'নাম' ] ;
s.SetString ( 'সাইমন' , d.GetAllocator ( ) ) ;

// JSON লিখুন ফাইল
ফাইল * fp2 = fopen ( 'example_modified.json' ,
'wb' ) ;
char writeBuffer [ 65536 ] ;
FileWriteStream OS ( fp2, রাইটবাফার,
আকার ( লিখুন বাফার ) ) ;
লেখক < FileWriteStream > লেখক ( আপনি ) ;
d. স্বীকার করুন ( লেখক ) ;
fclose ( fp2 ) ;

প্রত্যাবর্তন 0 ;
}


এই প্রোগ্রামটি র্যাপিডজসন অন্তর্ভুক্ত করার জন্য স্ট্যান্ডার্ড হেডার ফাইল ব্যবহার করে। ডকুমেন্ট অবজেক্ট JSON ফাইলের ডেটা ধারণ করে। সদস্যের নাম এবং বয়স JSON অবজেক্টে যোগ করা হয়েছে। একটি আউটপুট ফাইল স্ট্রিম তৈরি করা হয় এবং ফাইলে ডেটা লেখার জন্য প্রস্তুত করা হয়।


নাম এবং বয়স উভয়ই ফাইলে লেখা হয় এবং আউটপুট টার্মিনালে প্রদর্শিত হয়।

উপসংহার

JSON একটি ডেটা বিন্যাস যা স্থানান্তরের জন্য ডেটার আকার হ্রাস করা সম্ভব করে এবং এর ফলে ডেটা স্থানান্তরের দক্ষতা এবং প্রক্রিয়াকরণ উন্নত হয়। rapidjson ব্যবহার করে JSON ডেটা পড়তে এবং লিখতে, rapidjson::Document ক্লাস ব্যবহার করা হয়। এই ক্লাসটি একটি ফাইল থেকে JSON ডেটা তৈরি এবং পার্স করার জন্য একটি উচ্চ-স্তরের API প্রদান করে এবং ডেটা ম্যানিপুলেশনও সম্ভব করে তোলে।