Convert CSV to JSON array
⟐ DataConvert a CSV table to JSON array
$ echo "name,email,role
Alice,alice@co.io,admin
Bob,bob@co.io,editor" | csv-to-json (input) => {
const lines = input.trim().split("\n");
if (lines.length < 2) return "[]";
const headers = lines[0]
.split(",")
.map((h) => h.trim().replace(/^"|"$/g, ""));
const rows = lines.slice(1).map((line) => {
const values = line
.split(",")
.map((v) => v.trim().replace(/^"|"$/g, ""));
return Object.fromEntries(headers.map((h, i) => [h, values[i] || ""]));
});
return JSON.stringify(rows, null, 2);
}