Πώς να διαβάζετε και να γράφετε αρχεία JSON σε C++

Pos Na Diabazete Kai Na Graphete Archeia Json Se C



Η C++ είναι μια ευέλικτη γλώσσα που διαθέτει ένα σύνολο βιβλιοθηκών για την αντιμετώπιση δεδομένων JSON. Το JavaScript Object Notation (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' , 'r' ) ;

// Χρησιμοποιήστε ένα FileReadStream για να
// ανάγνωση τα δεδομένα από το αρχείο
char readBuffer [ 65536 ] ;
rapidjson::FileReadStream είναι ( fp, readBuffer,
μέγεθος του ( readBuffer ) ) ;

// Αναλύστε τα δεδομένα JSON
// χρησιμοποιώντας ένα αντικείμενο Document
rapidjson::Document d;
δ.ParseStream ( είναι ) ;

// Κλείστε το αρχείο
fclose ( fp ) ;

// Πρόσβαση στα δεδομένα σε το έγγραφο JSON
std::cout << ρε [ 'Ονομα' ] .GetString ( ) << std::endl;
std::cout << ρε [ 'Ηλικία' ] .Φιμέ ( ) << std::endl;

ΕΠΙΣΤΡΟΦΗ 0 ;
}


Η συνάρτηση fopen() χρησιμοποιείται για το άνοιγμα του αρχείου. Το αρχείο κεφαλίδας <<#include “rapidjson/filereadstream.h”>> διαβάζει τα δεδομένα του αρχείου σε μια συμβολοσειρά που ονομάζεται json. Το έγγραφο doc δημιουργείται για να διατηρεί τα δεδομένα του αρχείου. Η συμβολοσειρά αναλύεται και ελέγχονται τα λάθη της, εάν εντοπιστούν σφάλματα, επιστρέφει σφάλμα, διαφορετικά το Έγγραφο χρησιμοποιείται για πρόσβαση στα δεδομένα του 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' , 'rb' ) ;
char readBuffer [ 65536 ] ;
Το FileReadStream είναι ( fp, readBuffer, sizeof ( readBuffer ) ) ;
Έγγραφο δ;
δ.ParseStream ( είναι ) ;
fclose ( fp ) ;


αξία & s = d [ 'Ονομα' ] ;
s.SetString ( 'Σάιμον' , d.GetAllocator ( ) ) ;

// Γράψτε JSON αρχείο
ΑΡΧΕΙΟ * fp2 = fopen ( 'example_modified.json' ,
'wb' ) ;
char writeBuffer [ 65536 ] ;
OS FileWriteStream ( fp2, writeBuffer,
μέγεθος του ( writeBuffer ) ) ;
Συγγραφέας < FileWriteStream > συγγραφέας ( εσείς ) ;
δ.Αποδοχή ( συγγραφέας ) ;
fclose ( fp2 ) ;

ΕΠΙΣΤΡΟΦΗ 0 ;
}


Αυτό το πρόγραμμα χρησιμοποιεί τα τυπικά αρχεία κεφαλίδας για να συμπεριλάβει το rapidjson. Το αντικείμενο Document διατηρεί τα δεδομένα του αρχείου JSON. Το όνομα και η ηλικία του μέλους προστίθενται στο αντικείμενο JSON. Μια ροή αρχείου εξόδου δημιουργείται και προετοιμάζεται για την εγγραφή των δεδομένων στο αρχείο.


Το όνομα και η ηλικία γράφονται στο αρχείο και εμφανίζονται στο τερματικό εξόδου.

συμπέρασμα

Το JSON είναι μια μορφή δεδομένων που καθιστά δυνατή τη μείωση του μεγέθους των δεδομένων για τη μεταφορά και οδηγεί σε βελτιωμένη αποτελεσματικότητα και επεξεργασία της μεταφοράς δεδομένων. Για να διαβάσετε και να γράψετε τα δεδομένα JSON χρησιμοποιώντας το rapidjson, χρησιμοποιείται η κλάση rapidjson::Document. Αυτή η κλάση παρέχει ένα API υψηλού επιπέδου για τη δημιουργία και την ανάλυση δεδομένων JSON από ένα αρχείο και καθιστά επίσης δυνατό τον χειρισμό δεδομένων.