Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

811
Vistas
JAVASCRIPT JSON.parse() devuelve Final inesperado de la entrada JSON

Tengo una respuesta de un servicio, usando https

 rest.on("data", data => { response = JSON.parse(data); });

Necesito analizar esta respuesta pero... sé que el resultado final debería ser (lo obtengo con el cartero)...

 { "code": 200, "msg": "", "data": [ { "id": "t4ba", "devData": { "id": "bb2as", "state": "OK" }, "entries": { "2019-05-26T19:03:13.9260000": 15, "2019-05-26T19:03:29.1690000": 26, "2019-05-26T19:04:16.6880000": 65 } }, { "id": "t4ba-2", "devData": { "id": "bb2as", "state": "Underperformance" }, "entries": { "2019-05-26T19:03:13.9260000": 25, "2019-05-26T19:03:29.1690000": 45, "2019-05-26T19:04:16.6880000": 32 } } ], "dateResponse": "2021-03-26T19:04:16.6880000" }

Cuando ejecuto JSON.parse (datos)

me sale este error

"errorType": "SyntaxError", "errorMessage": "Fin inesperado de la entrada JSON", "trace": [ "SyntaxError: Fin inesperado de la entrada JSON", " at JSON.parse ()", " at IncomingMessage. (/ var/task/index.js:47:23)", " en IncomingMessage.emit (events.js:315:20)", " en IncomingMessage.EventEmitter.emit (domain.js:467:12)", " en IncomingMessage.Readable.read (internal/streams/readable.js:519:10)", " at flow (internal/streams/readable.js:992:34)", " at resume_ (internal/streams/readable.js: 973:3)", " en processTicksAndRejections (internal/process/task_queues.js:80:21)" ]

Creo que el campo "matriz de datos" es el problema y no sé cómo resolverlo.

Cuando recibo una respuesta con datos vacíos: [], todo funciona bien.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Mmmm... La respuesta es fácil...

Empecemos:::::

Primero, parece que obtienes una gran cantidad de datos de tu servicio...

En respuesta.on("datos"

Los datos no están completos al principio, entonces, .on("datos" "repetirse" desde el inicio hasta el final, entonces sus datos están completos...

código

 res.on("data", data => { someVariable += data; });

entonces... en tu .on("fin"

 rest.on("end", () => { MyJSON = JSON.parse(someVariable); });

Eso es todo amigos.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda