¿Cómo devolver JSON usando Node.js?

JSON significa Notación de objetos de JavaScript. Es uno de los formatos más utilizados para el intercambio de información entre aplicaciones. Node.js admite varios marcos que ayudan a que los procesos sean más fluidos. Las siguientes formas cubren cómo devolver datos JSON en nuestra aplicación desde Node.js.

Método 1 (usando Express.js): Express es un marco de aplicaciones web de back-end para Node.js. Es uno de los marcos estándar que utilizan muchos desarrolladores. Para instalarlo, usaremos NPM (Node Package Manager).

  • Paso 1 (Instalar npm en nuestro directorio): Para instalar npm en un proyecto, diríjase a la terminal y cambie su directorio de trabajo actual a ese proyecto. Luego, use el comando npm init para inicializar el archivo package.json.

    $cd {your-project-directory}
    $npm init
  • Paso 2 (Instalación de Express): ahora que tenemos npm instalado en nuestro proyecto, podemos instalar Express usando el comando npm install en nuestra terminal.

    $npm install express --save
  • Paso 3 (Preparar Express para usar): Después de instalar Express, podemos comenzar a escribir código en nuestro servidor. Necesitamos un módulo express antes de usarlo, y podemos hacerlo agregando el código que se proporciona a continuación en la parte superior de nuestro código de servidor.

    const express = require('express');
    const app = express();
  • Paso 4 (Uso de express para devolver datos JSON): ahora nuestro express está completamente listo para usar. En el ejemplo que se muestra a continuación, estamos devolviendo datos de la siguiente manera:

    • En la ruta ‘/’, devolvemos un objeto que contiene un solo par clave-valor.
    • En la ruta ‘/múltiple’, devolvemos un objeto que contiene varios pares clave-valor.
    • En la ruta ‘/array’, estamos devolviendo una array de objetos, cada uno con múltiples pares clave-valor.

Ejemplo:

index.js

// 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");
});

Paso para ejecutar la aplicación: Ejecute la aplicación usando el siguiente comando desde el directorio raíz del proyecto.

node index.js

Producción:

  • Ahora abra su navegador y vaya a http://localhost:3000/ , verá el siguiente resultado.
  • Vaya a http://localhost:3000/multiple, verá el siguiente resultado.
  • Vaya a http://localhost:3000/array, verá el siguiente resultado.

Método 2 (usando la interfaz HTTP): aunque el primer método es suficiente para la mayoría de las soluciones, hay otro método que usa la interfaz HTTP de Node.js y devuelve datos JSON. Node.js viene con un módulo HTTP incorporado, por lo que no tendremos que instalarlo por separado como hicimos con Express.

  • Paso 1 (Hacer que HTTP esté listo para usar): Necesitamos requerir HTTP en nuestro servidor para poder usarlo. Esto se puede hacer simplemente agregando el siguiente código a nuestro servidor.

    var http = require('http');
  • Paso 2 (usando http y JSON.stringify() para devolver datos JSON): ahora usaremos http.createServer() y JSON.stringify() para devolver datos JSON de nuestro servidor.

Ejemplo:

index.js

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);

Paso para ejecutar la aplicación: Ejecute la aplicación usando el siguiente comando desde el directorio raíz del proyecto.

node index.js

Producción:

Ahora abra su navegador y vaya a http://localhost:3000/ , verá el siguiente resultado.

Nota: Ambos métodos se pueden usar para devolver datos JSON desde el servidor y ambos producirán el mismo resultado.

Publicación traducida automáticamente

Artículo escrito por greenblade29 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *