CSV den JSON a Dönüştürme
CSV’yi JSON’a dönüştür
Aspose.Cells, CSV’yi JSON’a dönüştürmeyi destekler. Bu amaçla API, ExportRangeToJsonOptions ve JsonUtility sınıflarını sağlar. ExportRangeToJsonOptions sınıfı, aralığı JSON şeklinde dışa aktarma seçeneklerini sağlar. ExportRangeToJsonOptions sınıfının aşağıdaki özellikleri bulunmaktadır.
- ExportAsString: Bu, hücrelerin dize değerlerini JSON’a dışa aktarır.
- HasHeaderRow: Bu, aralığın başlık satırı içerip içermediğini belirtir.
- Indent: Sekme boşluğunu belirtir.
JsonUtility sınıfı, ExportRangeToJsonOptions sınıfı ile belirlenen dışa aktarma seçeneklerini kullanarak JSON’u dışa aktarır.
Aşağıdaki örnek kod, ExportRangeToJsonOptions ve JsonUtility sınıflarını kullanarak kaynak CSV dosyasını yüklüyor ve çıktı JSON’ı konsolda yazdırıyor.
Örnek Kod
// 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); |
Konsol Çıktısı
[
{
"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
}
]