CSV yi C++ ile JSON a dönüştür

CSV’yi JSON’a dönüştür

Aspose.Cells, CSV’yi JSON’a dönüştürmeyi destekler. Bunun için API ExportRangeToJsonOptions ve JsonUtility sınıflarını sağlar. ExportRangeToJsonOptions sınıfı, JSON’e dışa aktarım için aralık seçenekleri sunar. ExportRangeToJsonOptions sınıfının aşağıdaki özellikleri vardır.

JsonUtility sınıfı, JSON’u ExportRangeToJsonOptions sınıfıyla belirlenen dışa aktarma seçeneklerini kullanarak dışa aktarır.

Aşağıdaki kod örneği, kaynak CSV dosyasını yüklemek için ExportRangeToJsonOptions ve JsonUtility sınıflarını kullanmayı ve JSON çıkışını konsolda yazdırmayı göstermektedir.

Örnek Kod

#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    // Source directory
    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");

    // Create load options for CSV format
    LoadOptions loadOptions(LoadFormat::Csv);

    // Load CSV file
    Workbook workbook(srcDir + u"SampleCsv.csv", loadOptions);

    // Get the last cell in the worksheet
    Cell lastCell = workbook.GetWorksheets().Get(0).GetCells().GetLastCell();

    // Set JsonSaveOptions
    JsonSaveOptions jsonSaveOptions;

    // Create a range from the first cell to the last cell
    Range range = workbook.GetWorksheets().Get(0).GetCells().CreateRange(0, 0, lastCell.GetRow() + 1, lastCell.GetColumn() + 1);

    // Export the range to JSON
    U16String data = JsonUtility::ExportRangeToJson(range, jsonSaveOptions);

    // Print JSON
    std::cout << data.ToUtf8() << std::endl;

    Aspose::Cells::Cleanup();
}

Konsol Çıktısı

[
{
"id": 1,
"language": "Java",
"edition": "third",
"author": "Herbert Schildt",
"streetAddress": 126,
"city": "San Jone",
"state": "CA",
"postalCode": 394221
},
{
"id": 2,
"language": "C++",
"edition": "second",
"author": "EAAAA",
"streetAddress": 126,
"city": "San Jone",
"state": "CA",
"postalCode": 394221
},
{
"id": 3,
"language": ".Net",
"edition": "second",
"author": "E.Balagurusamy",
"streetAddress": 126,
"city": "San Jone",
"state": "CA",
"postalCode": 394221
}
]