Javascript JSON API извлекает вложенный json

#javascript #reactjs

#язык JavaScript #реагирует на

Вопрос:

У меня есть вложенный json, который я могу получить из конечной http://localhost:8080/salesmen/1 точки, он выглядит так

 {  "Id": 1,  "name": "salesmen",  "loc": "california",  "inventory": [  {  "fruitId": 1,  "Id": 1,  "theDate": "08/12/2020",  "descrip": "an apple",   },  {  "fruitId": 2,  "Id": 1,  "theDate": "08/12/2021",  "descrip": "a banana",   }  ] }  

Я хочу извлечь вложенную inventory часть, чтобы построить из нее таблицу

Я написал выборку, которая выглядит так

Когда я проверяю консоль, все параметры в моем fruitdata undefined

Это неверно и нужно ли мне делать что-то еще, чтобы получить это?

 useEffect(() =gt; {  fetch(SERVER_URL   "salesmen/1")  .then((response) =gt; response.json())  .then((data) =gt; {  // fruits: responseData  const fruitdata = [data].map((p) =gt; {  return {  inventory: p.inventory,  theDate: p.inventory.theDate,  description: p.inventory.descrip,  };   });  console.log(fruitdata)  setfruits(fruitdata);  })  .catch((err) =gt; console.error(err)); }, []);  

Комментарии:

1. Измените [data] на data.inventory , и в вашем инвентаре нет инвентаря

Ответ №1:

 useEffect(() =gt; {  fetch(SERVER_URL   "salesmen/1")  .then((response) =gt; response.json())  .then((data) =gt; {  // fruits: responseData  const fruitdata = data.inventory.map((p) =gt; { // mapping on invenroty will resolve the issue  return {  inventory: p.inventory,  theDate: p.inventory.theDate,  description: p.inventory.descrip,  };   });  console.log(fruitdata)  setfruits(fruitdata);     })  .catch((err) =gt; console.error(err)); }, []);