Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnologia Web para desenvolvedores
  2. JavaScript
  3. Referência JavaScript
  4. Objetos Globais
  5. JSON
  6. JSON.parse()

Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.

View in EnglishAlways switch to English

JSON.parse()

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨julho de 2015⁩.

* Some parts of this feature may have varying levels of support.

O métodoJSON.parse() analisa uma string JSON, construindo o valor ou um objeto JavaScript descrito pela string. Uma funçãoreviver opcional pode ser fornecida para executar uma transformação no objeto que será retornado.

Experimente

const json = '{"result":true, "count":42}';const obj = JSON.parse(json);console.log(obj.count);// Expected output: 42console.log(obj.result);// Expected output: true

Sintaxe

JSON.parse(text[, reviver])

Parâmetros

text

A string para analisar como JSON. Veja o objetoJSON para uma descrição da sintaxe JSON.

reviverOptional

Se for uma função, prescreve como o valor originalmente produzido pela análise será transformado antes de ser retornado.

Valor retornado

OObject correspondente aotext JSON fornecido.

Exceções

Lança uma exceçãoSyntaxError se a string a ser analisada não for um JSON válido.

Exemplos

UsandoJSON.parse()

js
JSON.parse("{}"); // {}JSON.parse("true"); // trueJSON.parse('"foo"'); // "foo"JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]JSON.parse("null"); // null

Usando o parâmetroreviver

Se umreviver for especificado, o valor calculado pela análise serátransformado antes de ser retornado. Especificamente, o valor computado e todas as suas propriedades (começando com as propriedades mais aninhadas e prosseguindo para o próprio valor original) são executadas individualmente através doreviver. Em seguida, ele é chamado, com o objeto contendo a propriedade sendo processada comothis, e com o nome da propriedade como uma string, e o valor da propriedade como argumentos. Se a funçãoreviver retornarundefined (ou não retornar nenhum valor, por exemplo, se a execução cair no final da função), a propriedade será excluída do objeto. Caso contrário, a propriedade é redefinida para ser o valor de retorno.

Se oreviver apenas transformar alguns valores e não outros, certifique-se de retornar todos os valores não transformados como estão, caso contrário, eles serão excluídos do objeto resultante.

js
JSON.parse(  '{"p": 5}',  (key, value) =>    typeof value === "number"      ? value * 2 // retorna o valor * 2 para números      : value, // retorna tudo sem alteração);// { p: 10 }JSON.parse('{"1": 1, "2": 2, "3": {"4": 4, "5": {"6": 6}}}', (key, value) => {  console.log(key); // mostra o nome da propriedade atual, o último é "".  return value; // retorna o valor da propriedade inalterada.});// 1// 2// 4// 6// 5// 3// ""

JSON.parse() não permite vírgulas à direta

js
// ambos retornarão um SyntaxErrorJSON.parse("[1, 2, 3, 4, ]");JSON.parse('{"foo" : 1, }');

Especificações

Specification
ECMAScript® 2026 Language Specification
# sec-json.parse

Compatibilidade com navegadores

Veja Também

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp