JSON dan CSV ye Dönüştürme C++ ile

JSON’ı CSV’ye dönüştür

Aspose.Cells, basit ve iç içe JSON’u CSV’ye dönüştürmeyi destekler. Bunun için API JsonLayoutOptions ve JsonUtility sınıflarını sağlar. JsonLayoutOptions sınıfı, SetIgnoreTitle (diziyi bir nesnenin özelliği ise başlığı yoksayar) veya GetArrayAsTable() (diziyi tablo olarak işler) gibi JSON düzeni seçenekleri sunar. JsonUtility sınıfı, JSON’u JsonLayoutOptions sınıfı ile ayarlanmış düzen seçeneklerini kullanarak işler.

Aşağıdaki kod örneği, kaynak JSON dosyasını yüklemek ve çıktı CSV dosyasını oluşturmak için JsonLayoutOptions ve JsonUtility sınıflarını kullanmayı gösterir.

Örnek Kod

#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();
}