CSV in JSON mit C++ konvertieren
Konvertieren von CSV in JSON
Aspose.Cells unterstützt die Konvertierung von CSV in JSON. Hierfür stellt die API die Klassen ExportRangeToJsonOptions und JsonUtility bereit. Die Klasse ExportRangeToJsonOptions bietet die Optionen für den Exportbereich nach JSON. Die Klasse ExportRangeToJsonOptions hat die folgenden Eigenschaften.
- GetExportAsString(): Exportiert den Zeichenfolgenwert der Zellen in JSON.
- GetHasHeaderRow(): Gibt an, ob der Bereich eine Kopfzeile enthält.
- GetIndent(): Gibt die Einrückung an.
Die JsonUtility-Klasse exportiert JSON unter Verwendung der mit der ExportRangeToJsonOptions-Klasse festgelegten Exportoptionen.
Das folgende Codebeispiel demonstriert die Verwendung der Klassen ExportRangeToJsonOptions und JsonUtility zum Laden der Quelle CSV-Datei und druckt die JSON-Ausgabe in der Konsole.
Beispielcode
#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();
}
Konsolenausgabe
[
{
"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
}
]