| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify | [Back] [Original] |
Get to know MDN better
Esta pgina foi traduzida do ingls pela comunidade. Saiba mais e junte-se comunidade MDN Web Docs.
This feature is well established and works across many devices and browser versions. Its been available across browsers since julho de 2015.
O mtodo JSON.stringify() converte valores em javascript para uma String JSON. Esses valores podem ser substituidos especificando a funo replacer, ou incluindo somente as propriedades especficas, quando o array do replacer for especificado.
JSON.stringify(valor[, replacer[, espao]])
valorO valor a ser convertido para uma string JSON.
replacer OptionalUma funo que altera o comportamento do processo de transformao em string, ou um array de objetos String e Number que servem como uma lista branca para selecionar as propriedades do objeto valor a ser includo na string JSON. Se este valor for nulo ou no fornecido, todas as propriedades do objeto so includas na string JSON resultante.
espao OptionalUm objeto String ou Number que usado para inserir espao em branco na sada da string JSON para propsito de legibilidade. Se isto for um Number, indica o nmero de caracteres espao para usar como espao em branco; este nmero limitado em 10 se for maior que isso. Valores menores que 1 indicam que nenhum espao deve ser usado. Se isto for uma String, a string (ou os primeiros 10 caracteres da string, se for maior que isso) usado como espao em branco. Se esse parmetro no for fornecido (ou for null), nenhum espao em branco usado.
JSON.stringify() converte um valor para uma notao JSON que o representa:
toJSON(), responsvel por definir quais dados sero serializados.Boolean, Number, and String os objetos so convertidos para os valores primitivos correspondentes durante a stringificao, de acordo com a semntica de converso.undefined, uma funo, ou um symbol encontrado durante a converso omitido (quando encontrado em um objeto) ou censurado para null (quando encontrado em um Array). JSON.stringify pode tambm somente retornar undefined ao passar valores puros como JSON.stringify(function(){}) ou JSON.stringify(undefined).replacer.JSON.stringify({}); // '{}'
JSON.stringify(true); // 'true'
JSON.stringify("foo"); // '"foo"'
JSON.stringify([1, "false", false]); // '[1,"false",false]'
JSON.stringify({ x: 5 }); // '{"x":5}'
JSON.stringify({ x: 5, y: 6 });
// '{"x":5,"y":6}' or '{"y":6,"x":5}'
JSON.stringify([new Number(1), new String("false"), new Boolean(false)]);
// '[1,"false",false]'
// Symbols:
JSON.stringify({ x: undefined, y: Object, z: Symbol("") });
// '{}'
JSON.stringify({ [Symbol("foo")]: "foo" });
// '{}'
JSON.stringify({ [Symbol.for("foo")]: "foo" }, [Symbol.for("foo")]);
// '{}'
JSON.stringify({ [Symbol.for("foo")]: "foo" }, function (k, v) {
if (typeof k === "symbol") {
return "a symbol";
}
});
// '{}'
replacer parameterO parmetro replacer pode ser uma funo ou uma matriz. Como funo, so necessrios dois parmetros, a chave e os valores que esto sendo especificados. O objeto no qual a chave foi encontrada fornecido como substituto desse parmetro. Inicialmente, ele chamado com uma chave vazia que representa o objeto que est sendo codificado e, em seguida, chamado para cada propriedade no objeto ou matriz que est sendo codificada. Ele deve retornar o valor que deve ser adicionado cadeia JSON, da seguinte maneira:
Number, a string correspondente a esse nmero usada como o valor da propriedade quando adicionada sequncia JSON.String, that string is used as the property's value when adding it to the JSON string.Boolean, "true" or "false" is used as the property's value, as appropriate, when adding it to the JSON string.replacer function on each property, unless the object is a function, in which case nothing is added to the JSON string.undefined, the property is not included in the output JSON string.Nota:
Voc no pode usar a funo replacer para remover valoeres em uma array. Se voc retornar undefined, null ser usado no lugar.
function replacer(key, value) {
if (typeof value === "string") {
return undefined;
}
return value;
}
var foo = {
fundao: "Mozilla",
modelo: "caixa",
semana: 45,
transporte: "carro",
ms: 7,
};
var jsonString = JSON.stringify(foo, replacer);
O resultado do JSON : {"semana":45,"ms":7}.
Se replacer usado em uma array, os valores da array indicam os nomes das propriedades no objeto, que devem ser includas na sequncia JSON resultante.
JSON.stringify(foo, ["semana", "ms"]);
// '{"semana":45,"ms":7}', apenas mantm as propriedades "semana" e "ms"
spaceO argumento space O argumento pode ser usado para controlar o espaamento na sequncia final. Se for um nmero, os nveis sucessivos na stringficao sero recuados por esse nmero de caracteres de espao (at 10). Se for uma sequncia, os nveis sucessivos sero recuados por essa sequncia (ou pelos dez primeiros caracteres).
JSON.stringify({ a: 2 }, null, " ");
// '{
// "a": 2
// }'
O uso de um caractere de tabulao imita a aparncia padro de impresso pretty-print.
JSON.stringify({ um: 1, dois: 2 }, null, "\t");
// r:
// '{
// "um": 1,
// "dois": 2
// }'
toJSON()Se um objeto sendo stringificado tiver uma propriedade denominada toJSON() cujo valor uma funo, o mtodo toJSON() personaliza o comportamento da stringificao JSON, em vez de o objeto ser serializado, o valor retornado pelo mtodo toJSON() quando chamado ser serializado. Por exemplo:
var obj = {
foo: "foo",
toJSON: function () {
return "bar";
},
};
JSON.stringify(obj); // '"bar"'
JSON.stringify({ x: obj }); // '{"x":"bar"}'
JSON.stringify() com localStorageNo caso em que voc deseja armazenar um objeto criado por seu usurio e permitir que ele seja restaurado mesmo aps o fechamento do navegador, o exemplo a seguir um modelo para a aplicabilidade de JSON.stringify():
Aviso:
As funes no so um tipo de dados JSON vlido, portanto, elas no funcionaro. Tambm alguns objetos como Date ser uma string depois JSON.parse().
// Criando um exemplo em JSON
var seo = {
telas: [],
estado: true,
};
session.screens.push({ nome: "telaA", largura: 450, altura: 250 });
session.screens.push({ nome: "telaB", largura: 650, altura: 350 });
session.screens.push({ nome: "telaC", largura: 750, altura: 120 });
session.screens.push({ nome: "telaD", largura: 250, altura: 60 });
session.screens.push({ nome: "telaE", largura: 390, altura: 120 });
session.screens.push({ nome: "telaF", largura: 1240, altura: 650 });
// Convertendo a string JSON em JSON.stringify()
// Salvando com localStorage no nome da sesso
localStorage.setItem("seo", JSON.stringify(seo));
// Exemplo de como transformar a String gerada por meio de:
// JSON.stringify() e salva em localStorage no objeto JSON novamente
var seoRestaurada = JSON.parse(localStorage.getItem("seo"));
// Agora, a varivel seoRestaurada contm o objeto que foi salvo
// no localStorage
console.log(seoRestaurada);
| Specification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-json.stringify |
This page was last modified on 12 de out. de 2025 by MDN contributors.
Your blueprint for a better internet.
Portions of this content are 19982026 by individual mozilla.org contributors. Content available under a Creative Commons license.
| Web Proxy Viewer | New URL | Original Page |