Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

81
Views
Tratando de analizar JSON

Soy un completo principiante en node.js y trato de descubrir cómo enviar el contenido de un objeto JSON usando REST. Mi código solo da como resultado un error que dice "SyntaxError: token inesperado en JSON en la posición 0". He usado un validador en línea para ver que el JSON es correcto. ¿Cual es el problema?

 // GET courses const fs = require('fs'); app.get('/api/courses', function(req, res) { var rawdata = fs.readFileSync('miun-db.json'); var data = JSON.parse(rawdata); res.send(data.courses); });
about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Los datos dentro de su archivo no están formateados correctamente. Verifique que miun-db.json tenga el formato correcto antes de intentar analizar.

about 4 years ago · Juan Pablo Isaza Report

0

El problema es que su archivo no tiene el formato correcto, consulte Trabajar con JSON .

También puede importar el archivo JSON y usarlo sin fs .

 import miunDb from './miun-db.json'; app.get('/api/courses', function(req, res) { res.send(miunDb.courses); });
about 4 years ago · Juan Pablo Isaza Report

0

De acuerdo con los documentos de fs.readFileSync , puede pasar opciones a la función.

 fs.readFileSync(path[, options])

Si se especifica la opción de codificación, esta función devuelve una cadena. De lo contrario, devuelve un búfer.

Como no pasa ninguna opción, obtiene un búfer y no el contenido de la cadena del archivo.

O pasas la codificación a la función, por ejemplo

 var rawdata = fs.readFileSync('miun-db.json', {encoding:'utf8'}); var data = JSON.parse(rawdata);

o convierte el búfer en cadena. P.ej

 var rawdata = fs.readFileSync('miun-db.json'); var data = JSON.parse(rawdata.toString('utf8'));

Editar:

Su mensaje de error dice que tiene un carácter no válido que no se puede imprimir. Parece que su archivo comienza con una lista de materiales (espacio sin interrupción de ancho cero (ZWNBSP)).

¿Qué sucede si intentas eliminarlo?

 function stripBOM(content) { content = content.toString() // Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) // because the buffer-to-string conversion in `fs.readFileSync()` // translates it to FEFF, the UTF-16 BOM. if (content.charCodeAt(0) === 0xFEFF) { content = content.slice(1) } return content } // [...] var rawdata = fs.readFileSync('miun-db.json', {encoding:'utf8'}); var data = JSON.parse(stripBOM(rawdata)); // [...]

El crédito va a esta esencia .

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!