- Properties with
undefined values should be removed from the output.
- Strings with
\n newline characters aren't handled properly.
- Support tab indent?
const perfectJson = require('perfect-json');
const data = {
name: 'Dmitriy',
surname: 'Pushkov',
asdf: undefined,
skills: ['Java\nScript', 'Node.js', 'ES6'],
env: { node: '14.0.0', eslint: true, babel: true, typescript: false }
};
console.log(perfectJson(data, {
singleLine: ({ key }) => {
return ['skills', 'env'].includes(key);
}
}));
Actual (improper json):
{
"name": "Dmitriy",
"surname": "Pushkov",
"asdf": undefined,
"skills": ["Java
Script", "Node.js", "ES6"],
"env": { "node": "14.0.0", "eslint": true, "babel": true, "typescript": false }
}
Expected:
{
"name": "Dmitriy",
"surname": "Pushkov",
"skills": ["Java\nScript", "Node.js", "ES6"],
"env": { "node": "14.0.0", "eslint": true, "babel": true, "typescript": false }
}
undefinedvalues should be removed from the output.\nnewline characters aren't handled properly.Actual (improper json):
Expected: