v1.2.0
Data Format Converter for Deno: XML, JSON, CSV
Repository
Current version released
4 years ago
Versions
Data Format Converter
Contents
CSV to JSON
Converts a CSV string to JSON
Converting a CSV String to JSON
import { CSVtoJSON } from "https://deno.land/x/data_format_converter@v1.2.0/mod.ts";
const csvString =
"name, age, year\n" +
"John Doe, 33, 1990\n" +
"Jane Doe, 31, 1989";
const result = CSVtoJSON(csvString) // [ ["name", "age", "dob"], ["John Doe", ...], ["Jane Doe", ...] ]
JSON to CSV
Converts a JSON object to CSV
Converting a JSON object to CSV
import { JSONtoCSV } from "https://deno.land/x/data_format_converter@v1.2.0/mod.ts";
const json = [
[
"name", "age", "year"
],
[
"John Doe", "33", "1990"
],
[
"Jane Doe", 31, 1989
]
];
const result = JSONtoCSV(json) // "name, age, dob\n John Doe, 33, 1990\n Jane Doe, 31, 1989"
JSON to XML
Converting a JSON Object to XML
import { JSONtoXML } from "https://deno.land/x/data_format_converter@v1.2.0/mod.ts";
const exampleJson = {
name: {
age: {
place: {
title: {
text: "I am text for the title tag",
},
},
_attrs: {
b: "b",
},
},
_attrs: {
nameAttr: "I am an attribute for the name tag",
},
},
company: {
text: "Google Inc.",
_attrs: {
id: "5432",
},
},
};
const result = JSONtoXML(exampleJson);
console.log(result)
//<?xml version="1.0" encoding="UTF-8" ?>
//<name nameAttr="I am an attribute for the name tag">
// <age b="b">
// <place>
// <title>
// I am text for the title tag
// </title>
// </place>
// </age>
//</name>
//<company id="5432">
// Google Inc.
//</company>"
XML to JSON
Note: Requires --allow-net='api.factmaven.com
permissions
Converting XML to JSON
import { XMLtoJSON } from "https://deno.land/x/data_format_converter@v1.2.0/mod.ts";
const exampleInput =
'<?xml version="1.0" encoding="UTF-8" ?>\n' +
'<name nameAttr="I am an attribute for the name tag">\n' +
' <age b="b">\n' +
" <place>\n" +
" <title>\n" +
" I am text for the title tag\n" +
" </title>\n" +
" </place>\n" +
" <town>\n" +
" hello\n" +
" </town>\n" +
" </age>\n" +
"</name>\n"
const result = XMLtoJSON(exampleInput);
console.log(result)
// {
// name: {
// "@nameAttr": "I am an attribute for the name tag",
// age: { "@b": "b", place: { title: "I am text for the title tag" }, town: "hello" }
// }
// }