Sort keys and array elements in a JSON.
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 ]
}
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]}
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() |
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
obj |
object | Yes | The object to sort |
npm install sorted-json
npm test