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

150
Vistas
¿Cómo obtener datos de un archivo JSON específico?

Tengo un problema con la obtención de datos de un archivo json.

El archivo json tiene algunos subconjuntos y quiero mapearlo. Creé una página de codesandbox y necesito ayuda para mapear los datos relacionados: https://codesandbox.io/s/json-data-fetch-c00rf

Cuando abras el enlace, verás que he usado React obteniendo con useEffect pero no está restringido con eso, eso significa que puedes usar otra cosa.

Los datos json provienen de aquí: https://web-coding-challenge.vercel.joyn.de/api/blocks

Aquí está el código también:

 import "./styles.css"; import React, { useState, useEffect } from "react"; export default function App() { const [todos, setTodos] = React.useState<any[]>([]); React.useEffect(() => { fetch(`https://web-coding-challenge.vercel.joyn.de/api/blocks`) .then((results) => results.json()) .then((data) => { setTodos(data); }); }, []); return ( <div className="App"> {todos.map((post: any) => ( <div> <h1>{post.id}</h1> <h2>{post.assets.primaryImage.url}</h2> </div> ))} </div> ); }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puede mapear a través de post.assets y devolver su jsx requerido

Para un ejemplo, aquí estoy enumerando todas las direcciones URL en una lista

 return ( <div className="App"> {todos.length && todos.map((post: any) => ( <div> <h2>{post.id}</h2> <ul> {post.assets.map((asset: any, index: number)=>{ return ( <li key={index}>{asset.primaryImage.url}</li> ) })} </ul> </div> ))} </div> );

salvadera

about 4 years ago · Juan Pablo Isaza Denunciar

0

La respuesta contiene activos como una matriz anidada. Entonces puede usar reducir y obtener todos los elementos en una matriz y luego iterarlo para crear una lista

 import "./styles.css"; import React, { useState, useEffect } from "react"; export default function App() { const [todos, setTodos] = React.useState<any[]>([]); React.useEffect(() => { fetch(`https://web-coding-challenge.vercel.joyn.de/api/blocks`) .then((results) => results.json()) .then((data) => { const responseData = data.reduce((acc:any,curr:any)=>{ const assets = curr.assets; acc.push(...assets) return acc ; },[]) setTodos(responseData); }); }, []); return ( <div className="App"> {todos.map((post: any) => ( <div> <h1>{post.id}</h1> <h2>{post.primaryImage.url}</h2> </div> ))} </div> ); }

Captura de pantalla

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