1.0.6 • Published 2 years ago

url-query-json-parser v1.0.6

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

url-query-json-parser

This module allows you to convert complex JSON object with deeply nested objects and arrays into a query string. On the other hand it converts the query string back into a JSON object with the same conditions while parsing numbers, arrays and booleans.

Install

$ npm install url-query-json-parser
$ yarn add url-query-json-parser

Usage

import urlQueryJsonParser from "url-query-json-parser";

const complexJson = {
  order: [
    {
      crop: {
        width: 300,
        height: 300,
      },
    },
  ],
  resize: {
    width: 100,
  },
  format: {
    ext: "jpeg",
    quality: "auto",
    progressive: true,
  },
};

const urlQuery = urlQueryJsonParser.parseJSON(complexJson);
console.log(urlQuery);
//=> "order[0][crop][width]=300&order[0][crop][height]=300&resize[width]=100&format[ext]=jpeg&format[quality]=auto&format[progressive]=TRUE"

const urlJson = urlQueryJsonParser.parseQuery(urlQuery);
console.log(JSON.stringify(urlJson));
//=> {"order":[{"crop":{"width":300,"height":300}}],"resize":{"width":100},"format":{"ext":"jpeg","quality":"auto","progressive":true}}

APIs

.parseQuery(query:string)

Parse a query string into a deeply nested JSON object with array, boolean and number parsing

const parsed = urlQueryJsonParser.parseQuery(location.search);

.parseJSON(jsonObject:object)

Convert a complex JSON object with nested objects and arrays into a query string

const parsed = urlQueryJsonParser.parseJSON({
  foo: [
    {
      item: "one",
      id: 1,
      active: false,
    },
  ],
});

Credits

Built based on this gist

Contribution

Open to contribution and updates to make this library more versatile.