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

253
Views
React Native API FETCH Nombres diferentes para cada objeto

Estoy conectando una API REST desde la aplicación React Native . Tengo una respuesta Json con objetos de nombre de archivo con nombres diferentes, pero todos los objetos tienen las mismas variables: nombre de archivo, mensaje y visualización.

La cantidad de objetos cambia con cada solicitud a la API (REST), los nombres de los objetos en respuesta son diferentes según las solicitudes. Pero las variables en cada objeto son las mismas que las anteriores.

La información que necesito de esta respuesta es solo el texto del nombre del archivo, pero será aceptable si obtengo una lista de objetos para poder leer los mensajes de errores.

La imagen muestra cómo se ven mis objetos.

Esta es mi solicitud de búsqueda:

 const getGists = async () => { await axios .get(`https://api.github.com/gists/public?per_page=30`) .then((r) => { let n; for (n = 0; n < 30; n++) { console.log(r.data[n].files.filename); // console.log("____________________"); // console.log(r.data[n].owner.avatar_url); // console.log("____________________"); // console.log(JSON.stringify(r.data[n].files)); } }) .catch((e) => { console.log("ERROR", e); }); };

¿Cómo es posible obtener cada nombre de archivo de estas solicitudes, incluso si el nombre del objeto no es el mismo en cada iteración? Gracias por la ayuda

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Trabajando con el resultado de las llamadas a la API y algunas funciones de orden superior, esto funcionará bien:

 const getGists = async () => { await axios .get(`https://api.github.com/gists/public?per_page=30`) .then((response) => { const myDesireResult = response.data.reduce((acc, item) => { const files = Object.values(item.files); if (files.length > 1) { files.forEach((file) => acc.push(file.filename)); } else { acc.push(files[0].filename); } return acc; }, []); console.log(myDesireResult); }) .catch((e) => { console.log("ERROR", e); }); };

Explicación:

en el bloque then , puede obtener el resultado de la llamada API con result.data

con la función de reduce , se iniciará el bucle a través de los datos.

dado que el objeto en los archivos tiene nombres diferentes, podemos obtener los archivos con Object.values() fácilmente.

Algunos de los archivos contienen varios elementos y la mayoría de ellos tienen solo un elemento. entonces al verificar la longitud del file podemos hacer la acción adecuada. si los archivos tienen más de un elemento, con otro simple lop, podemos recorrer esta matriz de archivos fácilmente.

Verifique el ejemplo de trabajo en codesandbox

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!