Conversione CSV in JSON con C++
Contents
[
Hide
]
Convertire CSV in JSON
Aspose.Cells supporta la conversione di CSV in JSON. Per questo, l’API fornisce le classi ExportRangeToJsonOptions e JsonUtility. La classe ExportRangeToJsonOptions fornisce le opzioni per esportare l’intervallo in JSON. La classe ExportRangeToJsonOptions ha le seguenti proprietà.
- GetExportAsString(): Questo esporta il valore stringa delle celle in JSON.
- GetHasHeaderRow(): Indica se l’intervallo contiene una riga di intestazione.
- GetIndent(): Indica l’indentazione.
La classe JsonUtility esporta il JSON utilizzando le opzioni di esportazione impostate con la classe ExportRangeToJsonOptions.
Il seguente esempio di codice illustra l’uso delle classi ExportRangeToJsonOptions e JsonUtility per caricare il file CSV di origine e stampare l’output JSON nel console.
Codice di Esempio
#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();
}
Output della console
[
{
"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
}
]