Lectura y Escritura de JSON
- jsonfile:
jsonfile
permite leer y escribir archivos JSON de manera sencilla. Puedes cargar datos desde un archivo JSON con una sola línea de código, y también puedes guardar objetos JavaScript en archivos JSON fácilmente. - node-fetch:
node-fetch
no maneja archivos JSON directamente, pero puedes enviar y recibir datos JSON a través de solicitudes HTTP. Debes serializar los datos JSON manualmente al enviarlos y analizarlos al recibirlos.
Manejo de Errores
- jsonfile:
jsonfile
maneja errores de lectura y escritura de archivos a través de promesas y callbacks. Si hay un problema al acceder al archivo, se rechaza la promesa o se llama al callback con un error. - node-fetch:
node-fetch
maneja errores de red y respuestas HTTP a través de promesas. Debes verificar el estado de la respuesta para manejar errores HTTP (como 404 o 500) y capturar errores de red usando bloquestry/catch
.
Soporte de Promesas
- jsonfile:
jsonfile
admite promesas para operaciones asíncronas, lo que facilita su uso conasync/await
. Esto permite un código más limpio y legible al trabajar con operaciones de lectura y escritura de archivos. - node-fetch:
node-fetch
está diseñado alrededor de promesas, lo que lo hace compatible conasync/await
. Esto permite manejar solicitudes HTTP de manera asíncrona y escribir código más limpio al trabajar con datos de red.
Ejemplo de Código
- jsonfile:
Ejemplo de
jsonfile
para leer y escribir archivos JSONconst jsonfile = require('jsonfile'); const file = 'data.json'; // Escribir datos en un archivo JSON const data = { nombre: 'Juan', edad: 30 }; jsonfile.writeFile(file, data) .then(() => console.log('Datos escritos en el archivo')) .catch(console.error); // Leer datos de un archivo JSON jsonfile.readFile(file) .then((obj) => console.log('Datos leídos del archivo:', obj)) .catch(console.error);
- node-fetch:
Ejemplo de
node-fetch
para realizar solicitudes HTTPconst fetch = require('node-fetch'); // Realizar una solicitud GET fetch('https://jsonplaceholder.typicode.com/posts/1') .then((response) => { if (!response.ok) throw new Error('Error en la red'); return response.json(); }) .then((data) => console.log('Datos recibidos:', data)) .catch(console.error); // Realizar una solicitud POST fetch('https://jsonplaceholder.typicode.com/posts', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ title: 'foo', body: 'bar', userId: 1 }), }) .then((response) => response.json()) .then((data) => console.log('Datos enviados:', data)) .catch(console.error);