UNPKG

csv-json-core

Version:

Convert CSV to JSON and JSON to CSV using only core Node.js modules. Supports all CSV formats. like both Strings and Files

82 lines (62 loc) 2.27 kB
# csv-json-core ## About the Project `csv-json-core` is a lightweight Node.js package for converting CSV (Comma-Separated Values) data to JSON (JavaScript Object Notation) and vice versa, using only core Node.js modules. It supports both string and file-based conversions, making it ideal for data transformation, import/export, and integration tasks. ## Features - Convert CSV strings or files to JSON arrays - Convert JSON arrays to CSV strings or files - Handles custom delimiters, quoted fields, and escaped characters - No external dependencies—uses only Node.js core modules - Simple API for quick integration ## Version 1.0.0 This is the initial stable release. It includes: - CSV to JSON conversion (string or file input) - JSON to CSV conversion (string or file input, file output optional) - Error handling for malformed input - Support for standard CSV quoting and escaping ## Installation ``` npm install csv-json-core ``` ## Usage ### Importing the module ```js const { csvToJson, jsonToCsv } = require('csv-json-core'); ``` ### Convert CSV string to JSON ```js const csv = `name,age\nAlice,30\nBob,25`; const json = csvToJson(csv); console.log(json); // Output: [ { name: 'Alice', age: '30' }, { name: 'Bob', age: '25' } ] ``` ### Convert CSV file to JSON ```js const json = csvToJson('data.csv', true); console.log(json); ``` ### Convert JSON array to CSV string ```js const jsonArray = [ { name: 'Alice', age: 30 }, { name: 'Bob', age: 25 } ]; const csv = jsonToCsv(JSON.stringify(jsonArray)); console.log(csv); // Output: name,age\nAlice,30\nBob,25 ``` ### Convert JSON file to CSV file ```js jsonToCsv('data.json', true, 'output.csv'); // Writes CSV to output.csv ``` ## API Reference ### csvToJson(input, isFile = false) - `input` (string): CSV data as a string, or a file path if `isFile` is true - `isFile` (boolean, optional): If true, reads CSV from file - Returns: JSON string (array of objects) ### jsonToCsv(input, isFile = false, output = null) - `input` (string): JSON data as a string, or a file path if `isFile` is true - `isFile` (boolean, optional): If true, reads JSON from file - `output` (string, optional): If provided, writes CSV to this file - Returns: CSV string ## License ISC --- **Author:** Vinod N Shelar