Como retornar JSON usando NodeJS?
JSON significa JavaScript Object Notation. É um dos formatos mais usados para troca de informações entre aplicativos. Node.js oferece suporte a várias estruturas que ajudam a tornar os processos mais suaves. As maneiras a seguir cobrem como retornar dados JSON em nosso aplicativo do Node.js.
Método 1 (usando Express.js): Express é uma estrutura de aplicativo da web de back-end para Node.js. É uma das estruturas padrão que é usada por muitos desenvolvedores. Para instalá-lo, usaremos o NPM (Node Package Manager).
Etapa 1 (Instalando o npm em nosso diretório): Para instalar o npm em um projeto, vá até o terminal e altere seu diretório de trabalho atual para esse projeto. Em seguida, use o comando npm init para inicializar o arquivo package.json.
$cd {diretório do seu projeto} $npm init
Passo 2 (Instalando o Express): Agora que temos o npm instalado em nosso projeto, podemos instalar o Express usando o comando npm install em nosso terminal.
$npm install express --save
Passo 3 (Tornando o Express pronto para uso): Depois de instalar o Express, podemos começar a escrever o código em nosso servidor. Precisamos exigir um módulo expresso antes de usá-lo, e podemos fazer isso adicionando o código fornecido a seguir no topo do nosso código de servidor.
const express = require ('express'); const app = express();
Passo 4 (Usando express para retornar dados JSON): Agora nosso express está completamente pronto para uso. No exemplo abaixo, estamos retornando dados da seguinte maneira:
- Na rota '/', estamos retornando um objeto que contém um único par de valores-chave.
- Na rota '/ multiple', estamos retornando um objeto que contém vários pares de chave-valor.
- Na rota '/ array', estamos retornando uma array de objetos, cada um com vários pares de valores-chave.
Exemplo:
// Requiring express in our server
const express = require('express');
const app = express();
// Defining get request at '/' route
app.get('/', function(req, res) {
res.json({
number: 1
});
});
// Defining get request at '/multiple' route
app.get('/multiple', function(req, res) {
res.json({
number: 1,
name: 'John',
gender: 'male'
});
});
// Defining get request at '/array' route
app.get('/array', function(req, res) {
res.json([{
number: 1,
name: 'John',
gender: 'male'
},
{
number: 2,
name: 'Ashley',
gender: 'female'
}
]);
});
// Setting the server to listen at port 3000
app.listen(3000, function(req, res) {
console.log("Server is running at port 3000");
});
Etapa para executar o aplicativo: execute o aplicativo usando o seguinte comando do diretório raiz do projeto.
node index.js
Saída:
- Agora abra seu navegador e vá para http: // localhost: 3000 / , você verá a seguinte saída.
- Vá para http: // localhost: 3000 / multiple, você verá a seguinte saída.
- Vá para http: // localhost: 3000 / array, você verá a seguinte saída.
Método 2 (usando a interface HTTP): embora o primeiro método seja suficiente para a maioria das soluções, há outro método que usa a interface HTTP por Node.js e retorna dados JSON. O Node.js vem com um módulo HTTP embutido, portanto, não teremos que instalá-lo separadamente como fizemos no Express.
Etapa 1 (Tornar HTTP pronto para uso): Precisamos exigir HTTP em nosso servidor para poder usá-lo. Isso pode ser feito simplesmente adicionando o código abaixo ao nosso servidor.
var http = requer ('http');
Etapa 2 (usando http e JSON.stringify() para retornar dados JSON): Agora usaremos http.createServer() e JSON.stringify() para retornar dados JSON de nosso servidor.
Exemplo:
var http = require('http');
var app = http.createServer(function(req,res){
res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify({ number: 1 , name: 'John'}));
});
app.listen(3000);
Etapa para executar o aplicativo: execute o aplicativo usando o seguinte comando do diretório raiz do projeto.
node index.js
Saída:
Agora abra seu navegador e vá para http: // localhost: 3000 / , você verá a seguinte saída.
Nota: Ambos os métodos podem ser usados para retornar dados JSON do servidor e ambos produzirão a mesma saída.
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva