JSON de impressão bonita com Javascript nativo

O nativo JSON.stringifytem a opção de tornar a saída mais legível adicionando espaços à string.

Exemplo:

var someObject = { "test": 123, "others": [ { "abc": 1 }, { "xyz": 999 } ] };

JSON
.stringify(someObject, undefined, 2);

O retorno será:

{
"test": 123,
"others": [
{
"abc": 1
},
{
"xyz": 999
}
]
}

O segundo parâmetro é um substituto, que basicamente funciona como um filtro para ignorar certos valores.

Para mais informações: https://developer.mozilla.org/en-US/docs/Using_native_JSON