تحويل JSON إلى CSV باستخدام C++
Contents
[
Hide
]
تحويل JSON إلى CSV
يدعم Aspose.Cells تحويل JSON بسيط و JSON متداخل إلى CSV. لهذا، توفر API الفئات JsonLayoutOptions و JsonUtility. وتوفر الفئة JsonLayoutOptions الخيارات لتنسيق JSON مثل SetIgnoreTitle (يتجاهل العنوان إذا كانت المصفوفة خاصية لكائن) أو GetArrayAsTable() (يعالج المصفوفة كجدول). وتعالج الفئة JsonUtility JSON باستخدام الخيارات تنسيق التي تم تحديدها بواسطة فئة JsonLayoutOptions.
يوضح الكود التالي استخدام فئتي JsonLayoutOptions و JsonUtility لتحميل ملف JSON المصدر ([104398869.json]) وتوليد ملف CSV الإخراجي ([104398870.csv]).
الكود المثالي
#include <iostream>
#include <fstream>
#include <sstream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
U16String jsonFilePath = srcDir + u"SampleJson.json";
U16String jsonData;
std::ifstream jsonFile(jsonFilePath.ToUtf8().c_str());
if (jsonFile.is_open())
{
std::stringstream buffer;
buffer << jsonFile.rdbuf();
jsonData = U16String(buffer.str().c_str());
jsonFile.close();
}
else
{
std::cerr << "Failed to open JSON file: " << jsonFilePath.ToUtf8().c_str() << std::endl;
return -1;
}
Workbook workbook;
Cells cells = workbook.GetWorksheets().Get(0).GetCells();
JsonLayoutOptions importOptions;
importOptions.SetConvertNumericOrDate(true);
importOptions.SetArrayAsTable(true);
importOptions.SetIgnoreTitle(true);
JsonUtility::ImportData(jsonData, cells, 0, 0, importOptions);
U16String outputFilePath = outDir + u"SampleJson_out.csv";
workbook.Save(outputFilePath);
std::cout << "JSON data imported and workbook saved successfully!" << std::endl;
Aspose::Cells::Cleanup();
}