כיצד לקרוא ולכתוב קבצי JSON ב-C++

Kyzd Lqrw Wlktwb Qbzy Json B C



C++ היא שפה רב-תכליתית שיש לה קבוצה של ספריות להתמודדות עם נתוני JSON. סימון אובייקטים של JavaScript (JSON) הוא פורמט להחלפת נתונים שקל לבני אדם לכתוב ולקרוא ומכונות יכולות ליצור ולנתח בקלות. הוא משמש להעברת נתונים בין יישומי אינטרנט ושרתים, ולאחסון נתונים, כמו גם לתצורה של קבצים.

כיצד לקרוא ולכתוב קבצי JSON ב-C++

JSON הוא פורמט נתונים המהווה דרך מועדפת לאחסון והעברת נתונים מובנים באינטרנט. הוא קל משקל, מה שמקל על העברת הנתונים ומביא לשיפור היעילות והעיבוד של העברת הנתונים. ב-C++ rapidjson היא ספרייה שיש לה פונקציות לנתח וליצור את ה-JSON. ספרייה זו לא רק מאפשרת לקרוא ולכתוב את נתוני ה-JSON אלא גם מאפשרת מניפולציה ואימות של אובייקטים של JSON. זה גם תומך בפונקציות לטיפול במערכי נתונים גדולים של JSON בצורה סטרימינג.







כדי לקרוא ולכתוב את נתוני ה-JSON באמצעות rapidjson, נעשה שימוש במחלקה rapidjson::Document. מחלקה זו מספקת API ברמה גבוהה להפקה וניתוח של נתוני JSON מקובץ ומאפשרת גם מניפולציה של נתונים.



דוגמה לקריאת נתונים מקובץ JSON ב-C++

זהו קוד לדוגמה לקריאת נתונים מקובץ JSON ב-C++ באמצעות ספריית rapidjson:



#include 'rapidjson/document.h'
#include 'rapidjson/stringbuffer.h'
#include 'rapidjson/filereadstream.h'
#include
#include

שימוש במרחב שמות rapidjson;

int main ( )
{
// פתח את ה קוֹבֶץ ל קריאה
קוֹבֶץ * fp = fopen ( 'example.json' , 'ר' ) ;

// השתמש ב-FileReadStream כדי
// לקרוא הנתונים מה קוֹבֶץ
char readBuffer [ 65536 ] ;
rapidjson::FileReadStream הוא ( fp, readBuffer,
מידה של ( readBuffer ) ) ;

// נתח את נתוני ה-JSON
// באמצעות אובייקט Document
rapidjson::Document d;
d.ParseStream ( הוא ) ;

// סגור את קוֹבֶץ
לסגור ( fp ) ;

// גישה לנתונים ב מסמך JSON
std::cout << ד [ 'שֵׁם' ] .GetString ( ) << std::endl;
std::cout << ד [ 'גיל' ] .גוון ( ) << std::endl;

לַחֲזוֹר 0 ;
}


הפונקציה fopen() משמשת לפתיחת הקובץ. קובץ הכותרת <<#include 'rapidjson/filereadstream.h'>> קורא את הנתונים של הקובץ במחרוזת שנקראת json. מסמך המסמך נוצר כדי להחזיק את הנתונים של הקובץ. המחרוזת מנותחת, והשגיאות שלה נבדקות, אם נמצאו שגיאות היא מחזירה שגיאה אחרת המסמך משמש לגישה לנתונים של ה-JSON.





דוגמה לכתיבת נתונים לקובץ JSON ב-C++

ניתן להשתמש בספריית rapidjson כדי לכתוב את הנתונים בקובצי JSON על ידי יצירת מחלקה Document. זהו קוד לדוגמה לכתיבת נתונים לקובץ JSON ב-C++:



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

שימוש במרחב שמות rapidjson;

int main ( )
{
// קרא את JSON קוֹבֶץ
קוֹבֶץ * fp
= פופן ( 'example.json' , 'רב' ) ;
char readBuffer [ 65536 ] ;
FileReadStream הוא ( fp, readBuffer, sizeof ( readBuffer ) ) ;
מסמך ד;
d.ParseStream ( הוא ) ;
לסגור ( fp ) ;


ערך & s = ד [ 'שֵׁם' ] ;
s.SetString ( 'שמעון' , ד.GetAlocator ( ) ) ;

// כתוב JSON קוֹבֶץ
קוֹבֶץ * fp2 = fopen ( 'example_modified.json' ,
'וב' ) ;
char writeBuffer [ 65536 ] ;
מערכת הפעלה FileWriteStream ( fp2, writeBuffer,
מידה של ( כותב מאגר ) ) ;
סוֹפֵר < FileWriteStream > סוֹפֵר ( אתה ) ;
ד.קבל ( סוֹפֵר ) ;
לסגור ( fp2 ) ;

לַחֲזוֹר 0 ;
}


תוכנית זו משתמשת בקבצי הכותרת הסטנדרטיים כדי לכלול את ה-rapidjson. האובייקט Document מכיל את הנתונים של קובץ ה-JSON. השם והגיל של החבר מתווספים לאובייקט JSON. נוצר זרם קובץ פלט ומוכן לכתיבת הנתונים לקובץ.


שם וגיל שניהם כתובים בקובץ ומוצגים במסוף הפלט.

סיכום

JSON הוא פורמט נתונים המאפשר להקטין את גודל הנתונים להעברה ומביא לשיפור היעילות והעיבוד של העברת הנתונים. כדי לקרוא ולכתוב את נתוני ה-JSON באמצעות rapidjson, נעשה שימוש במחלקה rapidjson::Document. מחלקה זו מספקת API ברמה גבוהה להפקה וניתוח של נתוני JSON מקובץ ומאפשרת גם מניפולציה של נתונים.