/ / ako previesť súbor CSV na JSON pomocou jQuery a stiahnuť tento súbor json - jquery, json, csv

ako previesť súbor csv do json pomocou jquery a prevziať json súbor - jquery, json, csv

môj súbor CSV je taký

 $(function () {
var csv = $("#fileUpload").val();

$("#upload").bind("click", function () {
var regex = /^([a-zA-Z0-9s_\.-:])+(.csv|.txt)$/;
if (regex.test($("#fileUpload").val().toLowerCase())) {
if (typeof (FileReader) != "undefined") {
var reader = new FileReader();
reader.onload = function (e) {
var table = $("<table />");
var rows = e.target.result.split("n");
for (var i = 0; i < rows.length; i++) {
var row = $("<tr />");
var cells = rows[i].split(",");
for (var j = 0; j < cells.length; j++) {
var cell = $("<td />");
cell.html(cells[j]);
row.append(cell);
}
table.append(row);
}
$("#dvCSV").html("");
$("#dvCSV").append(table);
}
reader.readAsText($("#fileUpload")[0].files[0]);
} else {
alert("This browser does not support HTML5.");
}
} else {
alert("Please upload a valid CSV file.");
}
});

});
<script src="/images/https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<input type="file" id="fileUpload" name="fileUpload" />
<input type="button" id="upload" value="Upload" name="upload"/>
<hr />
<div id="dvCSV"></div>

Vo vyššie uvedenom kóde musím previesť nahraný súbor CSV do formátu JSON pomocou jquery.how na to? a vytvorený formát JSON by sa mal stiahnuť ako súbor JSON. Pomôžte mi, ako to urobiť

odpovede:

1 pre odpoveď č. 1

Tu je požadovaná funkcia:

$(function () {
var csv = $("#fileUpload").val();

$("#upload").bind("click", function () {
var regex = /^([a-zA-Z0-9s_\.-:])+(.csv|.txt)$/;
if (regex.test($("#fileUpload").val().toLowerCase())) {
if (typeof (FileReader) != "undefined") {
var reader = new FileReader();
reader.onload = function (e) {
var rows = e.target.result.split("rn");

if(rows.length>0){
var firstRowCells = GetCSVCells(rows[0], ",");

var dataArray = new Array();
for(var i=1;i<rows.length;i++)
{
var cells = GetCSVCells(rows[i], ",");
var obj = {};
for(var j=0;j<cells.length;j++)
{
obj[firstRowCells[j]] = cells[j];
}
dataArray.push(obj);
}

$("#dvCSV").html("");
$("#dvCSV").append(JSON.stringify(dataArray));
}
}
reader.readAsText($("#fileUpload")[0].files[0]);
} else {
alert("This browser does not support HTML5.");
}
} else {
alert("Please upload a valid CSV file.");
}
});
});

function GetCSVCells(row, separator){
return row.split(separator);
}

Konvertuje obsah CSV na pole objektov, v ktorých sa vlastnosti načítajú z prvého riadku (riadok hlavičky), a potom sa „prevedie“ na reťazec JSON.