jazon
v1.0.0
Published
A simple collection of JSON utilities for every project.
Maintainers
Readme
jazon
A simple collection of JSON utilities for every project.
Installation
npm install jazonUsage
import {
parse, stringify, validate, pretty, minify, clone,
equals, get, set, flatten, unflatten, merge
} from 'jazon';
// Parse with fallback
const obj = parse('{a:1}', { fallback: { b: 2 } }); // { b: 2 }
// Stringify with fallback
const str = stringify({ a: 1 }); // '{"a":1}'
// Validate JSON
validate('{"a":1}'); // true
// Pretty print
pretty({ a: 1 }); // '{\n "a": 1\n}'
// Minify
minify('{\n "a": 1\n}'); // '{"a":1}'
// Deep clone
const copy = clone({ a: { b: 2 } });
// Deep equal
equals({ a: 1 }, { a: 1 }); // true
// Get/Set by path
get({ a: { b: 2 } }, 'a.b'); // 2
const obj2 = {};
set(obj2, 'a.b.c', 3); // obj2 = { a: { b: { c: 3 } } }
// Flatten/Unflatten
flatten({ a: { b: 2 } }); // { 'a.b': 2 }
unflatten({ 'a.b': 2 }); // { a: { b: 2 } }
// Deep merge
merge({ a: 1, b: { c: 2 } }, { b: { d: 3 }, e: 4 }); // { a: 1, b: { c: 2, d: 3 }, e: 4 }API
- parse(text, options?): Safely parse JSON with optional fallback and reviver.
- stringify(value, options?): Safely stringify a JSON-serializable object.
- validate(text): Check whether a string can be parsed into JSON.
- pretty(obj, space?): Pretty print a JSON-serializable object.
- minify(json): Minify a JSON string.
- clone(object): Deep clone a JSON-serializable object.
- equals(a, b): Deep equality check JSON-serializable objects.
- get(obj, path, defaultValue?): Get value at dot-notation path.
- set(obj, path, value): Set value at dot-notation path.
- flatten(obj): Flatten nested JSON-serializable object to dot notation.
- unflatten(obj): Unflatten dot notation to nested JSON-serializable object.
- merge(target, source): Deep merge two JSON-serializable objects.
