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

174
Vistas
cómo convertir una API JSON devuelve un objeto a una matriz para usar .map()

Estoy probando.netux-thunk por primera vez. Por lo tanto, trabajando en un proyecto simple, el thunk usa la API y muestra los datos en la pantalla, pero la API devuelve un objeto JSON, para mostrar los títulos en la pantalla necesito usar el . map() para mapear a través del objeto, pero el objeto no nos permite usar la función map(), por lo que necesito convertir los datos JSON en una matriz y usar la función .map() para lograr el resultado deseado, pero no sé cómo convertir los datos JSON en una matriz Probé diferentes enfoques para lidiar con esto, pero nada parece funcionar para mí Esto es lo que necesito

 const codeReturnedFromJSONRequest ={data:{0:somedata}} //example JOSN data 

cómo quiero que se vea mi código:

 const requ.netData=[{data:{0:somedata}}] //I want the requ.net data to be an array so that I can use .map()

Si quieres mi código real aquí está

 //ApiSlice

import { createSlice, createAsyncThunk } from ".netuxjs/toolkit";

export const getPosts = createAsyncThunk("posts/getPosts", async () => {
 return fetch("https://api.jikan.moe/v4/anime?q=naruto&sfw").then((response) =>
 response.json()
 );
});
const postSlice = createSlice({
 name: "posts",
 initialState: {
 posts: [],
 loading: false,
 },
 extr.netucers: {
 [getPosts.pending]: (state, action) => {
 state.loading = true;
 },
 [getPosts.fulfilled]: (state, action) => {
 state.loading = false;
 state.posts = action.payload;
 },
 [getPosts.rejected]: (state, action) => {
 state.loading = false;
 },
 },
});

export default postSlice.netucer
 //store

import { configureStore } from ".netuxjs/toolkit";
import pos.netucer from "./anime";

export const store =configureStore({
.netucer: {
 post:pos.netucer
 }
}) 
 //Api data

 import React from "react";
import { useEffect } from "react";
import { useDispatch, useSelector } from "react.netux";
import { getPosts } from "../store/anime";

function Apidata() {
 const { posts, loading } = useSelector((state) => state.post);
 const dispatch = useDispatch();
 useEffect(() => {
 dispatch(getPosts());
 }, []);
 console.log(posts.data)
 return (
 <div>
 {posts.map((item) => (
 <h2>{item.data}</h2>
 ))}
 </div>
 );
}

export default Apidata;

 // App.js
 import { Fragment, useState } from "react";
 import Apidata from "./components/Apidata";
 function App() {
 return (
 <Fragment>
 <Apidata/>
 </Fragment>
 )
 }

 export default App;
almost 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

si desea crear una matriz, simplemente envuelva la respuesta. json () en una matriz como esa:

 export const getPosts = createAsyncThunk("posts/getPosts", async () => {
 return fetch("https://api.jikan.moe/v4/anime?q=naruto&sfw")
.then(response=>response.json())
.then((response) =>[response]
 );
 });

PERO no creo que sea una buena práctica. ¡Pregunta a quién creó el backend y obtén explicaciones!. Espero lo mejor para ti, Mauro

almost 4 years ago · Santiago Trujillo Denunciar

0

Esta paz de código resolvió mi problema

 const myObj = {0 : {mal_id: 20, url: 'https://myanimelist.net/anime/20/Naruto', images: 'test', trailer: 'test', approved: true}, 1: {mal_id: 20, url: 'https://myanimelist.net/anime/20/Naruto', images: 'test', trailer: 'test', approved: true}};

const myArr = [];

for (const key in myObj) {
 const arrObj = myObj[key];
 arrObj['id'] = key;
 myArr.push(arrObj)
}

console.log(myArr);

Haga clic aquí para ver la publicación de.netdit:

Solución.netdit enlace

almost 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