There are numerous cases where we need to convert our objects to JSON using JSON.stringify and there are also several cases where we need to have the output JSON to be formatted for easy readability.
For the above-mentioned purpose JSON.stringify(…) function has support to format the output if required. It takes special arguments for this purpose.
JSON.stringify Signature
[cc lang=”javascript”]
JSON.stringify(value[, replacer[, space]])
[/cc]
Here we will use the space argument it controls formatting. By default, the value is null, though if you specify a value it will set the space accordingly. Possible values are:
1. Number: If you provide a number (say n) in space argument then it will indent the formatted JSON with n spaces. Hence you will receive a formatted JSON with indentation of n spaces Example:
[cc lang=”javascript”]
JSON.stringify({a:1, b:2}, null, 4); //Indent 4 spaces Output: { a: 1, b: 2 }
[/cc]
2.String: If the argument is a string then space will be replaced with whatever we have in the string.
Example: javascript JSON.stringify({a:1, b:2}, null, ‘ ‘); Output: { a: 1, b: 2 }
Ex 2: JSON.stringify({a:1, b:2}, null, ‘\t’); Output: { a: 1, b: 2 }
Ex 3: (any string is possible) JSON.stringify({a:1, b:2}, null, ‘BAD’); //Bad string for demo purpose Output: { BADa: 1, BADb: 2 }