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.
- GetExportAsString(): Bu, hücrelerin dize değerlerini JSON’a dışa aktarır.
- GetHasHeaderRow(): Bu, aralığın başlık satırı içerip içermediğini belirtir.
- GetIndent(): Girintiyi gösterir.
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
}
]