butteff
@butteff
Раз в тысячу лет заправляю свитер в носки

Почему не подхватывается переменная внутри json?

Есть javascript код:

$(document).ready(function() {
	
	var adress = [];
	var locations = ' [';
	$('.office p').each(function(el) {
		adress[el] = $(this).text();
		locations = locations + '{address:\''+adress[el]+'\', data: \'0\', options:{icon: "http://selectner.com/img/bullet.png"}},';
	});

	locations = locations + ']';
        console.log(locations);


     $('#tablink').click(function (e) {
  		
     $('#map').gmap3({
		  map:{
		     options:{
		       center:[51.4675954,0.048876],
		       zoom: 2,
		       scrollwheel: true,
		      draggable: true, 
		      }
		  },
	   marker:{
		     values : locations,
		     options:{
		      draggable: true
		    },
		    events:{
                    }
		}
	 });
});

	
	

});


Если внутри gmap3, я заменю locations на то, что выдает console.log(locations) - все работает.
Но так, как сейчас в коде - нет.

Вероятно, нужно использовать JSON.parse(locations); Но у меня в консоли это действие выдает ошибку:

SyntaxError: JSON.parse: expected property name or '}' at line 1 column 3 of the JSON data


Почему? Как сделать, чтобы заработало?
  • Вопрос задан
  • 1462 просмотра
Решения вопроса 1
@vgbege
Имена пропертей должны быть в двойных кавычках.

JSON.parse('{a:1}'); // ругнется
JSON.parse('{"a":1}'); //сработает
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы