json-csv-json
v1.0.10
Published
This package can perform conversion of json to csv or csv to json.
Maintainers
Readme
CSV to JSON and JSON to CSV Converter
This project provides utility functions to convert JSON data to CSV format and vice versa. It includes validation mechanisms to ensure the input data is correctly formatted before conversion. The following key functions are implemented:
Installation
Install the package via npm:
npm install json-csv-jsonFunctions
jsonToCsv(jsonData)
Converts a JSON array or object into a CSV string.
Parameters
jsonData(Object | Array): JSON data to be converted to CSV.
Returns
- A string in CSV format if the input JSON is valid.
falseif the input JSON is invalid.- Throws an error if an unexpected issue occurs.
csvToJson(csvData)
Converts a CSV string into a JSON array.
Parameters
csvData(String): CSV data to be converted to JSON.
Returns
- A JSON array if the input CSV is valid.
falseif the input CSV is invalid.- Throws an error if an unexpected issue occurs.
Example Usage
1. Convert JSON to CSV
a. Using Data
import { jsonToCsv } from 'json-csv-json';
const sampleJson = [
{ "name": "John", "age": 30, "city": "New York" },
{ "name": "Jane", "age": 25, "city": "Los Angeles" }
];
const csvOutput = await jsonToCsv(sampleJson);
console.log(csvOutput);b. Using a file
import { jsonToCsv } from 'json-csv-json';
const csvOutput = await jsonToCsv("./test.json","file");
console.log(csvOutput);Output:
name,age,city
"John","30","New York"
"Jane","25","Los Angeles"2. Convert CSV to JSON
a. Using Data
import { csvToJson } from 'json-csv-json';
const sampleCsv = `name,age,city\n"John","30","New York"\n"Jane","25","Los Angeles"`;
const jsonOutput = await csvToJson(sampleCsv);
console.log(jsonOutput);b. Using a file
import { csvToJson } from 'json-csv-json';
const jsonOutput = await csvToJson("./test.csv","file");
console.log(jsonOutput);Output:
[
{ "name": "John", "age": "30", "city": "New York" },
{ "name": "Jane", "age": "25", "city": "Los Angeles" }
]Error Handling
- If the input JSON or CSV is invalid, the functions log an appropriate error message and return
false. - Unexpected errors are caught and logged with a generic error message.
Dependencies
Ensure the following helper modules are included:
validate-format.js: ProvidesisJsonValidandisCsvValidfor input validation.csv-parser-to-json.js: IncludesparseCsvRowto handle CSV row parsing.
Notes
- CSV headers are derived from the keys of the input JSON objects.
- Missing or
nullvalues in JSON objects are represented as empty strings in the CSV. - Similarly, missing fields in CSV rows are converted to
nullin the JSON output.
License
This utility is open for use under the MIT License.
