Как распечатать данные JSON из axios? -реагируй-

#javascript #reactjs

Вопрос:

Проблема в том, что я не знаю, как печатать данные Json с помощью React.

JSON :

 {  "themes": [  {  "id": 1,  "name": "nature",  "trips": [  {  "id": 1,  "location": "Jeju",  "price_discounted": 11200  },  {  "id": 2,  "location": "Seoul",  "price_discounted": 11200  },  ]  }  ] }  

и я попытался

 function Card() {  const [users, setUsers] = useState([]);  const fetchUsers = async () =gt; {  const response = await axios.get(process.env.REACT_APP_PRODUCT_URL);  setUsers(response.data.themes);  console.log(response.data);  };   useEffect(() =gt; {  fetchUsers();  }, []);  return (  lt;divgt;  {users.map((user) =gt; (  lt;ligt;{user.name.trips}lt;/ligt;  ))}  lt;/divgt;  ); }   

но я не могу получить данные о «поездках».. Помоги мне!

Я могу получить только «идентификатор»и «имя» «темы»».

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

1. какие данные вы хотите включить в свой список

Ответ №1:

Вы написали user.name.trips , что это неверно. Вот, trips не является ребенком name . Чтобы получить поездку, вам нужно написать:

user.trips[0].id или user.trips[1].price_discounted или …

Индекс в скобках необходим, потому trips что здесь есть массив. Кроме того, каждая поездка является объектом, поэтому вам нужно указать, какую пару «ключ/значение» вы хотите вывести.
Общий код таков:
user.trips[(index of trip)].(id or location or price_discounted)

Ответ №2:

В вашем json вы неправильно используете переменную. имя-это строка. поездки-это объект. и то, и другое-разные реквизиты.

 {users.map((user) =gt; {  return user.trips(trip=gt;{  return lt;ligt;{trip.location}lt;/ligt;  }   }  )}