Jquery перевести JSON в массив обьектов

294
19 апреля 2022, 23:20

У меня сейчас такой код

var randomMarkers = [
        { title: 'Marker 1', latLng: new google.maps.LatLng(40.371460, 49.840702) },
        { title: 'Marker 2', latLng: new google.maps.LatLng(40.371399, 49.840360) },
        { title: 'Marker 3', latLng: new google.maps.LatLng(40.371120, 49.840371) },
        { title: 'Marker 4', latLng: new google.maps.LatLng(40.371364, 49.840717) },
        { title: 'Marker 5', latLng: new google.maps.LatLng(40.371104, 49.840633) },
        { title: 'Marker 6', latLng: new google.maps.LatLng(40.371356, 49.840550) } 
  ];
  for (var i = 0; i < randomMarkers.length; i++) {
    randomMarkers[i].marker = new google.maps.Marker({
      position: randomMarkers[i].latLng,
      map: map,
      icon: 'ico.png',
      title: randomMarkers[i].title
    });
  }

все работает ОК мне сейчас нужно подгрузить эти marker1, marker2 и т.п. из внешнего JSON делаю так

var randomMarkers = [];
$.getJSON( 'api.php', function(data){ 
    randomMarkers.push(data);
});

при выводе в консоль показывает их как массив внутри массива . не понимаю почему.

Спасибо

Answer 1
$.getJSON( 'api.php', function(data){ 
  randomMarkers = data.map(item => ({
    title: item.title,
    latLng: new google.maps.LatLng(item.lat, item.lng)
  }));
});
READ ALSO
Как подружить $.getScript() с асинхронным запросом?

Как подружить $.getScript() с асинхронным запросом?

Есть массив, который при некотором условии должен подгружаться извнеЕсть необходимость в конце вызвать getScript(), в котором этот массив должен...

301
Скрытие модального окна

Скрытие модального окна

Создаю модальное окно с полноразмерным изображением, однако есть ошибка, при клике на превью появляется модалка, затем сразу же удаляется,...

202
Онлайн калькулятор стоимости с динамически создаваемой таблицей

Онлайн калькулятор стоимости с динамически создаваемой таблицей

Помогите пожайлуста, никак не могу решить проблемуЕсть таблица с полями, которые пользователь может добавлять сам при необходимости добавить...

175