Reminder: JSON.stringify can create Multi-line, formatted and filtered strings from JSON

You can use `JSON.stringify()` to turn a JSON object into a string.

let obj = {“a”: 1, “b”: 3, “c”: “boo!”};
console.log(JSON.stringify(obj))

This results in a single line string:

{


This content originally appeared on Christian Heilmann and was authored by Chris Heilmann

demo output of the examples shown here in the browser console

You can use `JSON.stringify()` to turn a JSON object into a string.


let obj = {“a”: 1, “b”: 3, “c”: “boo!”};
console.log(JSON.stringify(obj))

This results in a single line string:


{a!”}

However, you can also set two optional parameters, a filtering array or callback method and an indentation parameter. Setting the indentation to four, for example, creates a multi line string with 4 spaces indentation:


let obj = {“a”: 1, “b”: 3, “c”: “boo!”};
console.log(JSON.stringify(obj, false, 4))

Output:


{

“a”: 1,
“b”: 3,
“c”: “boo!”
}

If instead of spaces you want tabs, you can also defined the indentation parameter as a string:


let obj = {“a”: 1, “b”: 3, “c”: “boo!”};
console.log(JSON.stringify(obj, false, “t”))

Output:


{

“a”: 1,
“b”: 3,
“c”: “boo!”
}

Or any other string:


let obj = {“a”: 1, “b”: 3, “c”: “boo!”};
console.log(JSON.stringify(obj, false, “xxx”))

Output:


{

xxx”a”: 1,
xxx”b”: 3,
xxx”c”: “boo!”
}

You can define an array of keys you want to show to filter the outcome:


let obj = {“a”: 1, “b”: 3, “c”: “boo!”};
console.log(JSON.stringify(obj, [‘a’,’c’], 4))

Output:


{

“a”: 1,
“c”: “boo!”
}

And you can write a filtering callback function that gets applied to the JSON object. For example, to only allow for numbers to show:


const onlyNumbers = (key,value) => {
return (typeof value === ‘string’) ? undefined : value
}

let obj = {“a”: 1, “b”: 3, “c”: “boo!”};
console.log(JSON.stringify(obj, onlyNumbers, 4))

Output:


{

“a”: 1,
“b”: 3
}

You can see more examples on MDN .

Whilst I like these options, it always feels weird to me when a method allows for different values to determine what to do. Having the replacer either be an array or a callback and the spaces option be a number or a string feels confusing. What do you think?


This content originally appeared on Christian Heilmann and was authored by Chris Heilmann


Print Share Comment Cite Upload Translate Updates
APA

Chris Heilmann | Sciencx (2022-10-28T06:11:39+00:00) Reminder: JSON.stringify can create Multi-line, formatted and filtered strings from JSON. Retrieved from https://www.scien.cx/2022/10/28/reminder-json-stringify-can-create-multi-line-formatted-and-filtered-strings-from-json/

MLA
" » Reminder: JSON.stringify can create Multi-line, formatted and filtered strings from JSON." Chris Heilmann | Sciencx - Friday October 28, 2022, https://www.scien.cx/2022/10/28/reminder-json-stringify-can-create-multi-line-formatted-and-filtered-strings-from-json/
HARVARD
Chris Heilmann | Sciencx Friday October 28, 2022 » Reminder: JSON.stringify can create Multi-line, formatted and filtered strings from JSON., viewed ,<https://www.scien.cx/2022/10/28/reminder-json-stringify-can-create-multi-line-formatted-and-filtered-strings-from-json/>
VANCOUVER
Chris Heilmann | Sciencx - » Reminder: JSON.stringify can create Multi-line, formatted and filtered strings from JSON. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2022/10/28/reminder-json-stringify-can-create-multi-line-formatted-and-filtered-strings-from-json/
CHICAGO
" » Reminder: JSON.stringify can create Multi-line, formatted and filtered strings from JSON." Chris Heilmann | Sciencx - Accessed . https://www.scien.cx/2022/10/28/reminder-json-stringify-can-create-multi-line-formatted-and-filtered-strings-from-json/
IEEE
" » Reminder: JSON.stringify can create Multi-line, formatted and filtered strings from JSON." Chris Heilmann | Sciencx [Online]. Available: https://www.scien.cx/2022/10/28/reminder-json-stringify-can-create-multi-line-formatted-and-filtered-strings-from-json/. [Accessed: ]
rf:citation
» Reminder: JSON.stringify can create Multi-line, formatted and filtered strings from JSON | Chris Heilmann | Sciencx | https://www.scien.cx/2022/10/28/reminder-json-stringify-can-create-multi-line-formatted-and-filtered-strings-from-json/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.