วิธีอ่านและเขียนไฟล์ JSON ใน C ++

Withi Xan Laea Kheiyn Fil Json Ni 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:



#รวม 'rapidjson/document.h'
#รวม 'rapidjson/stringbuffer.h'
#รวม 'rapidjson/filereadstream.h'
#รวม
#รวม

ใช้เนมสเปซ Rapidjson;

int หลัก ( )
{
// เปิด ไฟล์ สำหรับ การอ่าน
ไฟล์ * เอฟพี = โฟเพน ( 'ตัวอย่าง. json' , 'ร' ) ;

// ใช้ FileReadStream เพื่อ
// อ่าน ข้อมูลจาก ไฟล์
ถ่าน readBuffer [ 65536 ] ;
Rapidjson::FileReadStream คือ ( fp, อ่านบัฟเฟอร์,
ขนาดของ ( อ่านบัฟเฟอร์ ) ) ;

// แยกวิเคราะห์ข้อมูล JSON
// โดยใช้วัตถุเอกสาร
Rapidjson::เอกสาร d;
d.ParseStream ( เป็น ) ;

// ปิด ไฟล์
ปิด ( เอฟพี ) ;

// เข้าถึงข้อมูล ใน เอกสาร JSON
มาตรฐาน::cout << [ 'ชื่อ' ] .GetString ( ) << มาตรฐาน::endl;
มาตรฐาน::cout << [ 'อายุ' ] .ติดฟิล์ม ( ) << มาตรฐาน::endl;

กลับ 0 ;
}


ฟังก์ชัน fopen() ใช้เพื่อเปิดไฟล์ ไฟล์ส่วนหัว <<#include “rapidjson/filereadstream.h”>> อ่านข้อมูลของไฟล์ในสตริงที่ชื่อว่า json เอกสารเอกสารถูกสร้างขึ้นเพื่อเก็บข้อมูลของไฟล์ สตริงจะถูกแยกวิเคราะห์ และตรวจสอบข้อผิดพลาด หากพบข้อผิดพลาด สตริงจะส่งคืนข้อผิดพลาด มิฉะนั้น เอกสารจะถูกใช้เพื่อเข้าถึงข้อมูลของ JSON





ตัวอย่างการเขียนข้อมูลลงไฟล์ JSON ด้วยภาษา C++

ไลบรารี Rapidjson สามารถใช้เพื่อเขียนข้อมูลในไฟล์ JSON โดยการสร้างคลาส Document นี่คือโค้ดตัวอย่างในการเขียนข้อมูลไปยังไฟล์ JSON ในภาษา C++:



#รวม 'rapidjson/document.h'
#รวม 'rapidjson/filereadstream.h'
#include 'rapidjson/filewritestream.h'
#รวม 'rapidjson/writer.h'

ใช้เนมสเปซ Rapidjson;

int หลัก ( )
{
// อ่าน JSON ไฟล์
ไฟล์ * เอฟพี
= โฟเพน ( 'ตัวอย่าง. json' , 'อาร์บี' ) ;
ถ่าน readBuffer [ 65536 ] ;
FileReadStream คือ ( fp, readBuffer, ขนาดของ ( อ่านบัฟเฟอร์ ) ) ;
เอกสาร ง;
d.ParseStream ( เป็น ) ;
ปิด ( เอฟพี ) ;


ค่า & ส = ง [ 'ชื่อ' ] ;
s.SetString ( “ไซมอน” , d.GetAllocator ( ) ) ;

// เขียน JSON ไฟล์
ไฟล์ * fp2 = fopen ( 'example_modified.json' ,
'wb' ) ;
ถ่าน writeBuffer [ 65536 ] ;
ระบบปฏิบัติการ FileWriteStream ( fp2, เขียนบัฟเฟอร์,
ขนาดของ ( writeBuffer ) ) ;
นักเขียน < FileWriteStream > นักเขียน ( คุณ ) ;
d.ยอมรับ ( นักเขียน ) ;
ปิด ( fp2 ) ;

กลับ 0 ;
}


โปรแกรมนี้ใช้ไฟล์ส่วนหัวมาตรฐานเพื่อรวม Rapidjson ออบเจ็กต์ Document เก็บข้อมูลของไฟล์ JSON ชื่อและอายุของสมาชิกจะถูกเพิ่มลงในออบเจ็กต์ JSON สตรีมไฟล์เอาต์พุตจะถูกสร้างขึ้นและเตรียมพร้อมสำหรับการเขียนข้อมูลลงในไฟล์


ทั้งชื่อและอายุจะถูกเขียนลงในไฟล์และแสดงบนเทอร์มินัลเอาท์พุต

บทสรุป

JSON เป็นรูปแบบข้อมูลที่ทำให้สามารถลดขนาดข้อมูลสำหรับการถ่ายโอนได้ และส่งผลให้ประสิทธิภาพและการประมวลผลการถ่ายโอนข้อมูลดีขึ้น หากต้องการอ่านและเขียนข้อมูล JSON โดยใช้ Rapidjson จะใช้คลาส Rapidjson::Document คลาสนี้จัดเตรียม API ระดับสูงสำหรับการสร้างและแยกวิเคราะห์ข้อมูล JSON จากไฟล์และทำให้การจัดการข้อมูลเป็นไปได้เช่นกัน