Convertir CSV a JSON

Convertir CSV a JSON

Aspose.Cells admite la conversión de CSV a JSON. Para esto, la API proporciona las clases ExportRangeToJsonOptions y JsonUtility. La clase ExportRangeToJsonOptions proporciona las opciones para exportar rango a JSON. La clase ExportRangeToJsonOptions tiene las siguientes propiedades.

  • ExportAsString: Esto exporta el valor de cadena de las celdas a JSON.
  • HasHeaderRow: Esto indica si el rango contiene una fila de encabezado.
  • Indent: Indica la sangría.

La clase JsonUtility exporta el JSON utilizando 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 de origen e imprime la salida de JSON en la consola.

Código de muestra

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Source directory
String sourceDir = Utils.Get_SourceDirectory();
LoadOptions loadOptions = new LoadOptions(LoadFormat.CSV);
// Load CSV file
Workbook workbook = new Workbook(sourceDir + "SampleCsv.csv", loadOptions);
Cell lastCell = workbook.getWorksheets().get(0).getCells().getLastCell();
// Set ExportRangeToJsonOptions
ExportRangeToJsonOptions options = new ExportRangeToJsonOptions();
Range range = workbook.getWorksheets().get(0).getCells().createRange(0, 0, lastCell.getRow() + 1, lastCell.getColumn() + 1);
String data = JsonUtility.exportRangeToJson(range, options);
// Print JSON
System.out.println(data);

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
}
]