Skip to content

pastgift/sorted-json-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sorted-json-js

Sort keys and array elements in a JSON.

Quick Example 1:

Using .sortify(...) with { sortArray: true } options to sort an object:

var sortedJSON = require('sorted-json');

var obj_1 = {
  numberArray: [3, 1, 2],
  anotherJSON: {
    stringArray: ['cat', 'book', 'apple'],
    numberA: 2,
    numberB: 1
  },
  number1: 2,
  number2: 1
};
console.log(sortedJSON.sortify(obj_1, { sortArray: true }));

Output:

{
  anotherJSON: { numberA: 2, numberB: 1, stringArray: [ 'apple', 'book', 'cat' ] },
  number1: 2,
  number2: 1,
  numberArray: [ 1, 2, 3 ]
}

Quick Example 2:

Using .stringify(...) to get a sorted JSON string:

var obj_2 = {
  numberArray: [3, 1, 2],
  anotherJSON: {
    stringArray: ['cat', 'book', 'apple'],
    numberA: 2,
    numberB: 1
  },
  number1: 2,
  number2: 1
};
console.log(sortedJSON.stringify(obj_2));

Output:

{"anotherJSON":{"numberA":2,"numberB":1,"stringArray":["cat","book","apple"]},"number1":2,"number2":1,"numberArray":[3,1,2]}

API:

.sortify(obj [, options])

Sort an object and return it.

Parameter Type Required Default Description
obj object Yes The object to sort
options object {} Sort options
options.sortBy function undefined Specifies a function that defines the sort order. Same to compareFunction parameter in Array.prototype.sort(compareFunction)
options.sortKey boolean true Sort the keys in obj or not
options.sortArray boolean true Sort the array elements in `obj or not
options.stringify boolean false Output the stringified obj or not (Using JSON.stringify())
options.replacer Parameter for JSON.stringify()
options.space Parameter for JSON.stringify()

.stringify(obj)

Parameter Type Required Default Description
obj object Yes The object to sort

Install:

npm install sorted-json

Test:

npm test

License

MIT

About

a sorting-keys-versiong for `JSON.stringify`

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published