forEach не является функцией даже с JSON.parse

#javascript #json

Вопрос:

У меня возникли проблемы с зацикливанием данных JSON. Я всегда получаю данные об ошибках.forEach-это не функция, даже если я использую JSON.parse. Кто-нибудь знает, как решить эту проблему ?

  function getApiGebruiker() {
    CallWebAPI();
    //nieuw deel
    var url = "http://localhost:8081/persoons";

    //do get request
    var client = new HttpClient();
    client.get("http://myIPadress/persoons", function (response) {
      // do something with response
      var data = JSON.parse(response);
      console.log(data);
      //data = JSON.parse(data);
      let string = document.getElementById("pwd").value;
      let loginn = document.getElementById("login").value;
      data.forEach((persoons) => {
        console.log(persoons.gebruikersnaam);
      });
    });
 

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

1. Ну, у объекта нет forEach

2. Пожалуйста, попробуйте это data._embedded.persoons.forEach(persoons => {

3. Пожалуйста, не публикуйте изображения кода или сообщения об ошибках. Скопируйте соответствующий код, используя функцию копирования и вставки, предоставляемую вашей операционной системой, и вставьте его в вопрос между двумя строками, которые содержат только ``` . Половина опубликованной вами картинки содержит мусор, и неясно, какая из отображаемых на ней структур данных data .

Ответ №1:

Ваш data , кажется, объект ( {} ) , а не массив ( [] ).

Попробуй:

 var data = JSON.parse(response);
var people = data._embedded.persoons

people.forEach((persoon) => {
  console.log(persoon.gebruikersnaam);
});