Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.10.2011, 17:56
man man вне форума
Интересующийся
Отправить личное сообщение для man Посмотреть профиль Найти все сообщения от man
 
Регистрация: 22.08.2009
Сообщений: 14

Как правильно распарсить массив?
В результате обращения к апи вконтакте получаю массив со всеми фотками пользователя

Код:
{"response":[64,
{"pid":"114272714","aid":"33565378",
"owner_id":"5005272","created":"1214309659",
"src":"http:\/\/cs1437.vkontakte.ru\/u5005272\/33565378\/m_2a07b7cb.jpg",
"src_big":"http:\/\/cs1437.vkontakte.ru\/u5005272\/33565378\/x_5769a2b7.jpg",
"src_small":"http:\/\/cs1437.vkontakte.ru\/u5005272\/33565378\/s_beb1d458.jpg"}]}
тут 64 - это количество фотографий у пользователя, а дальше идет сам массив с фотографиями

если парсить так

$.each(response.response, function(i,v){
    if ($.inArray(v.src) < 0) {
.....


то сначала получаю undefined - это те самые 64
а дальше уже идут фотки


вот полный код получения фоток

//функция обращается к апи
function VKPhotosGet(){
    VK.Api.call('photos.getAll', {'owner_id':vk_uid}, onVKPhotosGet);	
}

// а эта функция обрабатывает полученные результаты
function onVKPhotosGet(response){
	$.each(response.response, function(i,v){
		if ($.inArray(v.src) < 0) {
			$("#profile_photos").append("<div style='background:url("+v.src+") no-repeat;'></div>");
		}
	});
}
Ответить с цитированием
  #2 (permalink)  
Старый 16.10.2011, 23:36
Аватар для cyanidesign
Новичок на форуме
Отправить личное сообщение для cyanidesign Посмотреть профиль Найти все сообщения от cyanidesign
 
Регистрация: 13.10.2011
Сообщений: 4

Можно просто пропустить первый элемент массива:
for (var i = 1; i < response.length; i++) {...}


Так же, желательно сначала сконструировать html, а затем за 1 операцию вставить элемент на страницу (т.к. операции обращения к DOM довольно медленные).

Если не сложно, приведи пример массива с несколькими фотками.
Ответить с цитированием
  #3 (permalink)  
Старый 19.10.2011, 16:56
man man вне форума
Интересующийся
Отправить личное сообщение для man Посмотреть профиль Найти все сообщения от man
 
Регистрация: 22.08.2009
Сообщений: 14

А можно как-то чтобы не пропускать первый элемент? Можно конечно подсчитать количество элементов в массиве с помощью length, но зачем если уже это число известно, только надо его правильно получить?
Ответить с цитированием
  #4 (permalink)  
Старый 19.10.2011, 17:02
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

http://www.json.org/js.html
eval
JSON.parse
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно очистить maxlength в input? Маэстро Events/DOM/Window 10 22.06.2011 18:14
Как правильно задать ID в создаваемом элементе ? Indiana Events/DOM/Window 15 31.10.2010 16:15
Подскажите как правильно оформить код frolvict Общие вопросы Javascript 4 30.04.2010 10:51
Как удалить массив? SunYang Общие вопросы Javascript 14 05.02.2010 14:31
Как правильно оформить Send() Алекс97 AJAX и COMET 20 30.10.2008 19:19