Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.04.2009, 23:42
Интересующийся
Отправить личное сообщение для SirNaFigator Посмотреть профиль Найти все сообщения от SirNaFigator
 
Регистрация: 27.04.2009
Сообщений: 16

Нужна помощь с двумерным массивом
Доброго времени суток.
Некоторое время уже бьюсь с jquery, но вот в упор не могу понять как мне парстить двумерный массив полученный в json формате.

ПО сути мне приходит массив сообщений вот в таком формате:
Код:
{
    mess:{
        message:'время','кто сказал','кому скаали','цвет текста','сообщение',
        message:'время','кто сказал','кому скаали','цвет текста','сообщение',
        message:'время','кто сказал','кому скаали','цвет текста','сообщение',
        message:'время','кто сказал','кому скаали','цвет текста','сообщение'
    }
}
сообщений может быть от 0 до 100 за один запрос.
так же у меня кроме jquery подключается яваскрипт с функцией по отрисовке полученных сообщений ShowMessage(data)

на данном этапе скрипт выглядит так:
Код:
jQuery(document).ready(function(){
	jQuery.getJSON('chat_test.php', {}, function(json){
		jQuery('#mes').append(json.messages.message + '<br/>');
	});
});
соответственно оно не работает :wacko:
в лучшем случае, чего я добивался, это отображения одной строки из всех полученных.

Люди добрый поможите советом, христа ради, ибо заи***ся я уже =)
Заранее прошу прощения если я туплю и решение элементарно и лежит под носом.

Последний раз редактировалось SirNaFigator, 28.04.2009 в 00:12.
Ответить с цитированием
  #2 (permalink)  
Старый 27.04.2009, 23:57
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

json не валидный



{
    mess:{
        message1:['время','кто сказал','кому скаали','цвет текста','сообщение'],
        message2:['время','кто сказал','кому скаали','цвет текста','сообщение'],
        message3:['время','кто сказал','кому скаали','цвет текста','сообщение'],
        message4:['время','кто сказал','кому скаали','цвет текста','сообщение']
    }
}

Последний раз редактировалось Riim, 28.04.2009 в 00:01.
Ответить с цитированием
  #3 (permalink)  
Старый 28.04.2009, 00:00
Интересующийся
Отправить личное сообщение для SirNaFigator Посмотреть профиль Найти все сообщения от SirNaFigator
 
Регистрация: 27.04.2009
Сообщений: 16

хммм, точно!!!
А по функции обработки?
Ответить с цитированием
  #4 (permalink)  
Старый 28.04.2009, 00:03
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Я кроме названия этой функции (ShowMessage) саму ее не вижу.
Ответить с цитированием
  #5 (permalink)  
Старый 28.04.2009, 00:10
Интересующийся
Отправить личное сообщение для SirNaFigator Посмотреть профиль Найти все сообщения от SirNaFigator
 
Регистрация: 27.04.2009
Сообщений: 16

я имел в виду, каким образов отображать весь массив сообщений, а не только первое.
Ответить с цитированием
  #6 (permalink)  
Старый 28.04.2009, 00:13
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от SirNaFigator
я имел в виду, каким образов отображать весь массив сообщений, а не только первое.
Не массив у вас, а объект (если вы про json.mess). И ключи в нем одинаковые. Каждый следующий перезаписывает предыдущий. Т. е. у вас один ключ.
Ответить с цитированием
  #7 (permalink)  
Старый 28.04.2009, 00:51
Интересующийся
Отправить личное сообщение для SirNaFigator Посмотреть профиль Найти все сообщения от SirNaFigator
 
Регистрация: 27.04.2009
Сообщений: 16

с учетом исправлений получается следующий ответ сервера:
Код:
{
    messages:{
        mess_312:['время','кто сказал','кому скаали','цвет текста','сообщение'],
        mess_542:['время','кто сказал','кому скаали','цвет текста','сообщение'],
        mess_9113:['время','кто сказал','кому скаали','цвет текста','сообщение'],
        mess_1214:['время','кто сказал','кому скаали','цвет текста','сообщение']
    }
}
Теперь возникает вопрос, как применить функцию ShowMess к каждому члену объекта, если я не знаю его ключ.
Ответить с цитированием
  #8 (permalink)  
Старый 28.04.2009, 01:02
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

for(var k in obj)
Ответить с цитированием
  #9 (permalink)  
Старый 28.04.2009, 01:11
Интересующийся
Отправить личное сообщение для SirNaFigator Посмотреть профиль Найти все сообщения от SirNaFigator
 
Регистрация: 27.04.2009
Сообщений: 16

Господа, огромное спасибо, теперь все работает =)
Ответить с цитированием
  #10 (permalink)  
Старый 28.04.2009, 01:21
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

А я бы json.messages массивом сделал. Трафик меньше и сервер генерацией ключей грузить не надо.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна помощь в JavaScript михаил Общие вопросы Javascript 26 30.10.2013 11:07
Я - нуб. Нужна помощь :) AMARIAL Internet Explorer 27 28.04.2009 21:23
Создание вкладок, нужна помощь... CaHuTaP Общие вопросы Javascript 3 12.02.2009 18:41
Кроссдоменный GET запрос. Нужна помощь! notxcain AJAX и COMET 4 07.12.2008 20:55
Срочно нужна помощь Гость Общие вопросы Javascript 2 02.09.2008 14:13