Skip to content

Faster deterministic JSON.stringify() without bells and whistles.

License

Notifications You must be signed in to change notification settings

ppaskaris/faster-stable-stringify

Repository files navigation

faster-stable-stringify

Faster deterministic JSON.stringify() without bells and whistles.

const stableStringify = require('faster-stable-stringify');

const json = stableStringify({greetings: 'Hello!', apples: 'bananas'});
// json = {"apples":"bananas","greetings":"Hello!"}

Installation

$ npm install faster-stable-stringify

Features

  • JSON.stringify that has deterministic output
  • Handles edge cases in accordance with the spec
  • Replaces cycles with "[Circular]" similar to isaac's json-stringify-safe

API

A single function is exported.

stableStringify(value)

The behavior is identical to the native JSON.stringify, excluding circular structures. See here for an explanation of the JSON.stringify behavior.

Alternatives

If you need to customize the sorting behavior, or want an implementation that throws on circular references, you may prefer to use substack's json-stable-stringify.

If you need it to work in the browser or in an environment without a native JSON.stringify, you may prefer to use nickyout's fast-stable-stringify.

About

Faster deterministic JSON.stringify() without bells and whistles.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published