DEV Community

Discussion on: How to get JSON.stringify formatted

Collapse
 
gautemeekolsen profile image
Gaute Meek Olsen

It's a replacer parameter that could be useful in certain scenarios. It accepts either an array with the properties that should be included or a function where you can change the behavior as you like.

const characters = [
  {
    name: 'Mario',
    color: 'red',
    age: 100
  },
  {
    name: 'Luigi',
    color: 'green',
    age: 95
  }
];

const nameAndAge = JSON.stringify(characters, ['name', 'age'], 2);
console.log(nameAndAge);
/*
"[
  {
    "name": "Mario",
    "age": 100
  },
  {
    "name": "Luigi",
    "age": 95
  }
]"
*/

const darkify = (key, value) => {
  if(key === 'color'){
    return 'dark' + value;
  }
  return value;
}
const darkCharacters = JSON.stringify(characters, darkify, 2);
console.log(darkCharacters);
/*
"[
  {
    "name": "Mario",
    "color": "darkred",
    "age": 100
  },
  {
    "name": "Luigi",
    "color": "darkgreen",
    "age": 95
  }
]"
*/
Collapse
 
vishnubaliga profile image
Vishnu Baliga

That's so cool! TY.
(Suggestion: you could have mentioned about the second-argument in the blog as well.)