Skip to main content
Deno 2 is finally here 🎉️
Learn more

Data Format Converter

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" }
//   }
// }