Using JSON.Stringify February 09, 2016

Let’s say there is an object with properties “prop1”, “prop2”, “prop3”. We can pass additional params to JSON.stringify to selectively write properties of the object to string like:

var obj = {
    'prop1': 'value1',
    'prop2': 'value2',
    'prop3': 'value3'

var selectedProperties = ['prop1', 'prop2'];

var str = JSON.stringify(obj, selectedProperties);

// str
// {"prop1":"value1","prop2":"value2"}

The “str” will contain only info on selected properties only.

Instead of array we can pass a function also.

function selectedProperties(key, val) {
    // the first val will be the entire object, key is empty string
    if (!key) {
        return val;

    if (key === 'prop1' || key === 'prop2') {
        return val;


The last optional param it takes is to modify the way it writes the object to string.

var str = JSON.stringify(obj, selectedProperties, '\t\t');

/* str output with double tabs in every line.
        "prop1": "value1",
        "prop2": "value2"