Transformando JSON

JSON.stringifyignora propriedades que não são enumeráveis ​​e não são suportadas ( functione undefined).

O valor de entrada deve ser um objeto, caso contrário, JSON.stringifytrata-o como um objeto com chave vazia cujo valor é a referida entrada. Valor não suportado nos resultados da matriz em null. JSON.stringify usa o toJSONmétodo se for encontrado no objeto.

Para transformar o valor em JSON.stringifyantes de executar a função real (assumindo que o objeto não tenha um toJSONmétodo), você pode fornecer uma função de retorno de chamada como o segundo parâmetro da função.

JSON.parse também leva um segundo parâmetro de uma função de retorno de chamada, ele é executado após a análise ter sido concluída.

Essa função tem a seguinte assinatura:

function nodeVisitor(key, value) {
// this refers to root
// if value is not an object, then this is object with empty key, and value being the value.
// return undefined and node is removed
// otherwise node is replaced with whatever that is returned
}