Преобразовать CSV в JSON
Преобразовать CSV в JSON
Aspose.Cells поддерживает преобразование CSV в JSON. Для этого API предоставляет классы ExportRangeToJsonOptions и JsonUtility. Класс ExportRangeToJsonOptions предоставляет параметры для экспорта диапазона в JSON. Класс ExportRangeToJsonOptions имеет следующие свойства.
- ExportAsString: Это экспортирует строковое значение ячеек в JSON.
- HasHeaderRow: Это указывает, содержит ли диапазон заголовок строки.
- Indent: Указывает отступ.
Класс JsonUtility экспортирует JSON с использованием параметров экспорта, установленных с помощью класса ExportRangeToJsonOptions.
В следующем примере кода демонстрируется использование классов ExportRangeToJsonOptions и JsonUtility для загрузки исходного CSV-файла и вывода JSON в консоль.
Образец кода
// 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); |
Вывод в консоль
[
{
"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
}
]