Convertir CSV en JSON avec C++
Convertir CSV en JSON
Aspose.Cells supporte la conversion de CSV en JSON. À cet effet, l’API fournit les classes ExportRangeToJsonOptions et JsonUtility. La classe ExportRangeToJsonOptions offre les options pour exporter une plage en JSON. La classe ExportRangeToJsonOptions possède les propriétés suivantes.
- GetExportAsString(): Cela exporte la valeur de chaîne des cellules au format JSON.
- GetHasHeaderRow() : Indique si la plage contient une ligne d’en-tête.
- GetIndent() : Indique l’indentation.
La classe JsonUtility exporte le JSON en utilisant les options d’exportation configurées avec la classe ExportRangeToJsonOptions.
Le code suivant démontre l’utilisation des classes ExportRangeToJsonOptions et JsonUtility pour charger le fichier CSV source et affiche la sortie JSON dans la console.
Code d’exemple
#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();
}
Sortie 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
}
]