English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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‹/›
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‹/›
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‹/›
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.