Convertir CSV a JSON con C++
Convertir CSV a JSON
Aspose.Cells soporta convertir CSV a JSON. Para esto, la API proporciona las clases ExportRangeToJsonOptions y JsonUtility. La clase ExportRangeToJsonOptions ofrece opciones para exportar rangos a JSON. La clase ExportRangeToJsonOptions tiene las siguientes propiedades.
- GetExportAsString(): Esto exporta el valor de cadena de las celdas a JSON.
- GetHasHeaderRow(): Esto indica si el rango contiene una fila de encabezado.
- GetIndent(): Indica la sangría.
La clase JsonUtility exporta el JSON usando las opciones de exportación configuradas con la clase ExportRangeToJsonOptions.
El siguiente ejemplo de código demuestra el uso de las clases ExportRangeToJsonOptions y JsonUtility para cargar el archivo CSV fuente y mostrar la salida JSON en la consola.
Código de muestra
#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();
}
Salida de la consola
[
{
"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
}
]