Convert JSON to CSV with JavaScript via C++
Contents
[
Hide
]
Convert JSON to CSV
Aspose.Cells for JavaScript via C++ supports converting simple as well as nested JSON to CSV. For this, the API provides JsonLayoutOptions and JsonUtility classes. The JsonLayoutOptions class provides the options for JSON layout like JsonLayoutOptions.arrayAsTable (processes the array as a table). The JsonUtility class processes the JSON using the layout options set with the JsonLayoutOptions class.
The following code sample demonstrates the use of JsonLayoutOptions and JsonUtility classes to load the source JSON file and generates the output CSV file.
Sample Code
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells JSON to CSV Example</title>
</head>
<body>
<h1>Import JSON to CSV Example</h1>
<input type="file" id="fileInput" accept=".json" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, SaveFormat, JsonLayoutOptions, JsonUtility, Utils } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
const resultDiv = document.getElementById('result');
if (!fileInput.files.length) {
resultDiv.innerHTML = '<p style="color: red;">Please select a JSON file.</p>';
return;
}
const file = fileInput.files[0];
const jsonText = await file.text();
// Create empty workbook
const workbook = new Workbook();
// Get Cells from first worksheet
const cells = workbook.worksheets.get(0).cells;
// Set JsonLayoutOptions
const importOptions = new JsonLayoutOptions();
importOptions.convertNumericOrDate = true;
importOptions.arrayAsTable = true;
importOptions.ignoreTitle = true;
// Import JSON data into worksheet cells starting at A1 (0,0)
JsonUtility.importData(jsonText, cells, 0, 0, importOptions);
// Save Workbook as CSV
const outputData = workbook.save(SaveFormat.Csv);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'SampleJson_out.csv';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download CSV File';
resultDiv.innerHTML = '<p style="color: green;">JSON imported and CSV prepared. Click the download link to get the CSV file.</p>';
});
</script>
</html>