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

284
Vistas
'[Objeto de objeto], [Objeto de objeto]' no se analiza ni se modifica (nodo js, mangosta, ejs)

Así que estoy creando este juego de preguntas. Tengo un archivo ejs en una ruta, donde recopilo preguntas y respuestas con el elemento de entrada, y al hacer clic en el botón Enviar, se crea una matriz que contiene muchos objetos, uno para cada pregunta y para sus respuestas. y luego esta matriz se configura para que sea el valor del botón de envío, que está envuelto en un formulario que lo llevará a /creado con un método de publicación. Entonces quiero usar la matriz en server.js, donde estoy manejando rutas; lo estoy haciendo con req.body.name, que es el nombre del botón de envío. La cuestión es que estaba obteniendo esto: ['[objeto Objeto], [objeto Objeto]'] Entonces, después de buscar, descubrí que, en primer lugar, para agregar los objetos a la matriz, en el archivo ejs, debería ser usando array.push(JSON.stringify(obj)). Hice eso, y esto es lo que recibí:

 [ '{"question":"question1","answers":[{"text":"asnwer1","correct":true},{"text":"asnwer2","correct":false}]},{"question":"question2","answers":[{"text":"asnwer3","correct":true},{"text":"asnwer4","correct":false}]}' ]

Y esto no es lo que quiero obtener, quiero tener una matriz con dos objetos js separados, no json, y no quiero que todo sea weapper con ''. quiero que sea:

 [ {question:"question1", answers: [{text:"asnwer1",correct:true}, {text:"asnwer2",correct:false} ]}, {question:"question2", answers:[ {text:"asnwer3",correct:true}, {text:"asnwer4",correct:false} ]} ]

entonces en server.js donde estoy manejando rutas, usé: let bla = JSON.parse (req.body.name) Pero obtengo:

SyntaxError: Unexpected token , in JSON at position 105

Creo que hay muchos errores que estoy cometiendo, así que por favor ayuda...

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

JSON.parse() analiza el objeto JSON y lo convierte en objeto javascript. Tiene una cadena de colección de objetos separados por comas, por eso JSON.parse arroja un error. Solo puede analizar objetos JSON, no comas. Entonces, debe eliminar esas comas, dividirlas en objetos y luego analizarlas.

La solución de demostración estará a continuación para dividir y luego analizar cada objeto y actualizarlo en una matriz

 let array = [ '{"question":"question1","answers":[{"text":"asnwer1","correct":true},{"text":"asnwer2","correct":false}]},{"question":"question2","answers":[{"text":"asnwer3","correct":true},{"text":"asnwer4","correct":false}]}' ] var arrayAfterSplit = array[0].split(',{"question"') for(let i = 0;i<arrayAfterSplit.length;i++) { if(i > 0) { arrayAfterSplit[i] = '{"question"'+arrayAfterSplit[i]; } arrayAfterSplit[i] = JSON.parse(arrayAfterSplit[i]) // console.log(arrayAfterSplit[i]) } console.log(arrayAfterSplit)
about 4 years ago · Juan Pablo Isaza 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