2.0.8 • Public • Published

Another json/xml converter

Converts JSON or object to XML. In case of array, it will create a new element for each item named as parent element without the last symbol e.g. cars -> car items or with a name defined in a config parameter singulars: people: 'person'.

How to install

npm install another-json-xml --save

How to use

const { json2xml } = require('another-json-xml');

const json = {
  "name": "John",
  "age": 30,
  "cars": [
      "name": "Ford"
    }, {
      "name": "BMW"
    }, {
      "name": "Fiat"
const xml = json2xml(json);


<?xml version="1.0" encoding="UTF-8"?>

Config (optional)

You can pass config object as a second parameter to json2xml function e.g.

const xml = json2xml(json, config);

Or wrap it in a function for a shared config settings and use as a function e.g.

const { getConfiguredJson2Xml } = require('another-json-xml');

const json2xml = getConfiguredJson2Xml({
  root: 'root',
  indent: '\t',
  exclude: [],
  minify: false,
  singulars: {},

const xml = json2xml(json);

Default config is:

const config = {
  root: 'root',
  indent: '\t',
  exclude: [],
  minify: false,
  singulars: {},
  declaration: '<?xml version="1.0" encoding="UTF-8"?>'
  • root - root element name, default value is 'root'
  • indent - indent string, default is '\t'
  • exclude - array of keys that should be ignored e.g. ['_id'], default is []
  • minify - minify xml, default is false, in case it is true indent will be ignored
  • singulars - dictionary for list elements, default is {} and be default in case of cars it will be car (removes last symbol from the key name)
  • declaration - add xml declaration, default is <\?xml version="1.0" encoding="UTF-8"\?>


const config = {
  root: 'secret-data',
  indent: '    ',
  exclude: ['age', 'salary', 'password'],
  minify: false,
  singulars: {
    people: 'person'

Package Sidebar


npm i @7ft/another-json-xml

Weekly Downloads






Unpacked Size

5.32 kB

Total Files


Last publish


  • fullcrimp