Digamos que hay un objeto con propiedades”prop1”, “prop2”, “prop3”. Podemos pasarle patrametro adicional a JSON.stringify a escribir propiedades selectiva del objeto a cadena como:

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

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

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

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

“str” sólo contendrá información sobre propiedades seleccionadas.

En lugar de un array podemos pasar una función también.


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;
    }

    return;
}

The last optional param it takes is to modify the way it writes the object to string. El último parámetro opcional se necesita si quiere modificar la forma en que se escribe el objeto de cadena.

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

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