JSON.stringify
ignora propriedades que não são enumeráveis ​​e não são suportadas ( function
e undefined
).
O valor de entrada deve ser um objeto, caso contrário, JSON.stringify
trata-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 toJSON
método se for encontrado no objeto.
Para transformar o valor em JSON.stringify
antes de executar a função real (assumindo que o objeto não tenha um toJSON
mé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
}