English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JSON.parse() análise

JSON é usado para troca de dados com o servidor Web. Quando dados são recebidos do servidor Web, os dados sempre são strings.

O método JSON.parse() analisa uma string JSON para construir valores JavaScript ou o objeto descrito pela string.

Sintaxe:

JSON.parse(text, reviver)

O primeiro parâmetro especifica a string a ser analisada como JSON.

O segundo parâmetro opcional especifica uma função para verificar cada propriedade antes do valor retornado.

Análise JSON

Supondo que recebamos o seguinte texto do servidor Web:

 {"name":"Seagull", "age":22, "city":"New Delhi"

Usando o método JSON.parse(), podemos converter o texto JSON em um objeto JavaScript:

var myObj = JSON.parse('{"name":"Seagull", "age":22, "city":"New Delhi"
Teste e veja‹/›

JSON do servidor

Você pode fazer uma solicitação AJAX para obter JSON do servidor.

Se resposta do servidor for escrita em formato JSON, pode-se converter a string em um objeto JavaScript.

A seguir, exemplo de solicitação de arquivodemo.jsone analise a resposta:

var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function() {
   if (this.readyState === 4 && this.status === 200) {
      var myObj = JSON.parse(this.responseText);
      document.getElementById("output").innerHTML = myObj.name;
   }
};
httpRequest.open("GET", "demo.json", true);
httpRequest.send();
Teste e veja‹/›

Array como JSON

JSON.parse() é usado em JSON derivado de arrays, este método retornará um array JavaScript, não um objeto JavaScript.

A seguir, exemplo de solicitação de arquivojson_array.txte analise a resposta:

var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function() {
   if (this.readyState === 4 && this.status === 200) {
      var myArr = JSON.parse(this.responseText);
      document.getElementById("output").innerHTML = myArr[0];
   }
};
httpRequest.open("GET", "json_array.txt", true);
httpRequest.send();
Teste e veja‹/›

Análise de Data

Não é permitido usar objetos de data no JSON.

Se precisar incluir uma data, escreva-a como string e converta-a em objeto de data posteriormente.

var myJSON = '{"nome":"Seagull", "nascimento":"1997-11-10", "cidade":"Nova Delhi"}';
var myObj = JSON.parse(myJSON);
myObj.birth = new Date(myObj.birth);
document.getElementById("output").innerHTML = myObj.name + " DOB is " + myObj.birth;
Teste e veja‹/›

Atenção:Converter uma string em um objeto local chamadoAnálisee, ao contrário, transforma objetos locais emStringChamadoStringificação.