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

607
Vistas
Cómo convertir response.text() a JSON con reaccionar

En el siguiente

 const fetchData = async () => { try { const response = await fetch("faulty-endpoint"); const data = await response.text() console.log('data', data) } catch (error) { console.error(error) } finally { setLoading(false) } }

¿Cómo vuelvo los datos de response.text() a json? no puedo hacer

 const data = await response.json()

Porque entonces no console.log nada. Quiero que tenga formato JSON para poder guardarlo en una matriz useState que pueda map .

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

0

Debido a esa coma final, puede eliminarla primero y luego usar JSON.parse :

 let text = await response.text(); // if trailing comma present, remove last character by slicing it off // -1 in slice is the same as text.length - 1 if (text.endsWith(",")) text = text.slice(0, -1); const data = JSON.parse(text);

Sin embargo, esta no es la solución mejor o más limpia; idealmente, la API debería devolver un JSON válido...

about 4 years ago · Juan Pablo Isaza Denunciar

0

Aquí hay una implementación funcional de prueba de concepto de la respuesta de youdateme .

Estoy fingiendo la solicitud aquí para evitar problemas de CORS y demás, pero la respuesta se copia desde el punto final en su pregunta.

(Nota: tuve que volver a escapar de las comillas alrededor de \"Hello World\" en el último registro de la cadena de plantilla exportada).

Hace lo que youdateme sugirió y funciona.

 const fetchData = async () => { try { const response = await fakeRequest(); const data = JSON.parse(response.replace(/,$/, "")); setData(data); } catch (error) { console.error(error); } }; fetchData();

Si esto resuelve su problema, debe aceptar la respuesta de youdateme.

about 4 years ago · Juan Pablo Isaza Denunciar

0

JSON y un objeto de JavaScript se parecen, pero son diferentes. JSON es solo una cadena que tiene el formato de un objeto de JavaScript. Ver: Trabajar con JSON - MDN

Para mapear, necesita que sea un objeto JavaScript, no JSON.

Use JSON.parse(yourResponse) para analizar una cadena JSON en un objeto JavaScript (o matriz, etc.). Ver: JSON.parse de MDN

Para convertir un objeto JavaScript en una cadena JSON, puede usar JSON.stringify(yourObject)

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