JSON (JavaScript Object Notation) é um formato leve de intercâmbio de dados que é amplamente utilizado em aplicações web. É fácil de ler e escrever e é suportado pela maioria das linguagens de programação, incluindo Javascript. Neste artigo, discutiremos como ler um arquivo JSON com Javascript.
Para ler um ficheiro JSON com Javascript, podemos utilizar o objecto XMLHttpRequest. Este objecto permite-nos enviar pedidos HTTP para o servidor e receber respostas. Podemos usá-lo para recuperar um arquivo JSON do servidor e analisá-lo em um objeto Javascript.
“`javascript
var xhr = new XMLHttpRequest();
xhr.open(‘GET’, ‘data.json’, true);
xhr.onload = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
var data = JSON.parse(xhr.responseText);
console.log(data);
}
};
xhr.send();
“`
Neste exemplo, criamos um novo objeto XMLHttpRequest e usamos o método `open` para especificar o método HTTP, a URL do arquivo JSON e se a solicitação deve ser assíncrona (true) ou síncrona (false). Em seguida, definimos o manipulador de eventos `onload`, que é chamado quando a resposta é recebida. No manipulador de eventos, verificamos se a solicitação foi concluída (readyState = 4) e bem-sucedida (status = 200). Se for, nós analisamos o texto da resposta em um objeto JSON usando o método `JSON.parse` e o registramos no console.
“`javascript
$.getJSON(‘data.json’, function(data) {
console.log(data);
});
“`
Neste exemplo, usamos o método `getJSON` para recuperar o arquivo JSON e analisá-lo em um objeto Javascript. Em seguida, passamos o objeto para uma função de callback, que o registra no console. Observe que não precisamos usar XMLHttpRequest ou analisar o texto da resposta manualmente.
Quando você deve usar o jQuery? O jQuery é uma biblioteca Javascript popular que fornece uma API simples e consistente para manipular documentos HTML, manipular eventos e fazer solicitações AJAX. Pode poupar-lhe tempo e esforço ao abstrair alguns dos pormenores de baixo nível do Javascript, como a compatibilidade entre browsers e a manipulação do DOM. No entanto, se apenas precisar de executar tarefas básicas, como ler um ficheiro JSON, poderá não precisar de jQuery.
O que acontece quando se acede ao endereço de um serviço AJAX directamente através do browser? AJAX (Asynchronous Javascript and XML) é uma técnica para efectuar pedidos HTTP assíncronos do lado do cliente para o lado do servidor. Quando acede ao endereço de um serviço AJAX directamente através do browser, verá normalmente os dados em bruto devolvidos pelo servidor sob a forma de JSON, XML ou texto simples. Estes dados podem não ser formatados ou apresentados de uma forma fácil de utilizar e podem não estar acessíveis ao código Javascript executado no lado do cliente devido a restrições entre domínios.
O que é um pedido Javascript? Um pedido Javascript é um pedido HTTP efectuado a partir do lado do cliente utilizando Javascript, normalmente utilizando o objecto XMLHttpRequest ou uma biblioteca como o jQuery. Os pedidos Javascript podem ser utilizados para obter dados do servidor, actualizar o servidor com novos dados ou realizar outras tarefas, como a autenticação e a validação.
O que é uma biblioteca numa linguagem de programação? Uma biblioteca é uma colecção de código pré-escrito que pode ser utilizada pelos programadores para simplificar e acelerar o desenvolvimento. Normalmente, as bibliotecas fornecem funções, classes e módulos reutilizáveis que podem ser facilmente integrados num projecto. Algumas bibliotecas populares para Javascript incluem jQuery, React e Angular.
A palavra AJAX escreve-se como A-J-A-X.
Para efectuar um pedido HTTP em JavaScript puro, pode utilizar o objecto XMLHttpRequest incorporado. Pode criar uma nova instância do objecto XMLHttpRequest, abrir uma ligação ao servidor utilizando o método open(), definir os cabeçalhos do pedido utilizando o método setRequestHeader(), enviar o pedido utilizando o método send() e tratar a resposta utilizando o evento onreadystatechange. Aqui está um trecho de código de exemplo:
““
var xhr = new XMLHttpRequest();
xhr.open(‘GET’, ‘https://example.com/data.json’, true);
xhr.setRequestHeader(‘Content-Type’, ‘application/json’);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
var data = JSON.parse(xhr.responseText);
console.log(data);
}
};
xhr.send();
“`
Neste exemplo, estamos a fazer um pedido GET para obter um ficheiro JSON do servidor em https://example.com/data.json. Também estamos definindo o tipo de conteúdo da solicitação como “application/json”. Quando a resposta é recebida, estamos analisando os dados JSON e registrando-os no console.