| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: для новичков > взять значения массива JSON |
| Автор: Samotnik 17.3.2008, 18:47 | ||||
| САБЖ! С сервера приходит сформированный JSON массив. Такого вида
Мне нужно все значения link записать в одигн массив, а все значения description в другой ! Вот так вот я выбираю сам массив
Т.е. в this.ImageArray лежит массив imgArray и вот из этого массива, мне нужно взять отдельно значения link и description |
| Автор: dsCode 17.3.2008, 19:12 |
| Samotnik, - создать два пустых массива var links = []; и var descriptions = []; - пройтись циклом по массиву this.ImageArray - в массив links добавлять this.ImageArray[k].link, в массив descriptions - this.ImageArray[k].description |
| Автор: Sardar 17.3.2008, 20:03 | ||
| dsCode, там не объект и подсветка это подтверждает. Зачем нужно было оборачивать это в двойные кавычки... Samotnik, ты с каждым разом удивляешь всё больше По теме (добавим eval к коду dsCode):
|
| Автор: Samotnik 18.3.2008, 17:00 | ||||
| По САБЖ не работает ! пишу
выдает
|
| Автор: Fortop 18.3.2008, 17:23 | ||||
1. Уже писал Sardar
2.
3. Если и это не работает. Посмотри какой структуры у тебя приходит JSON. |
| Автор: Samotnik 18.3.2008, 17:55 | ||||
| Понимаете, все дело в том, что я не ставлю доп. кавыки, они ставятся автоматически Вобщем с сервера я отправляю так
Это правильно ? Вроде ж все правильно, по - форме Добавлено через 4 минуты и 37 секунд Приходит вот так
Что тут не правильно ?? |
| Автор: Fortop 18.3.2008, 18:01 |
Не понял? Чем отправляешь с сервера? Это что за класс/модуль/функция? На каком языке? |
| Автор: Fortop 18.3.2008, 18:17 |
| нет неправильно Вот эта двойная кавычка и соответственно парная ей. не нужны Добавлено через 2 минуты и 58 секунд P.S. А в великой и могучей разве нет встроенных функций для формирования JSON? |
| Автор: Samotnik 18.3.2008, 18:23 |
Так я это понял, еще когда впервый раз мне сказали Вопрос в том, как от нее избавиться ?? Ведь вы видите, что я ее не передаю !! Это просто метод ткаой put в который, надо в кавычках передавать всю инфу ! |
| Автор: Fortop 18.3.2008, 21:34 | ||||||
Метод чей? Библиотечный? В любом случае в Java можно посмотреть исходный код этого метода. Вот и посмотри. А еще лучше посмотри другой метод Добавлено @ 21:39
Понимаешь в чем дело. Причина твоей проблемы только одна. Ты не можешь определится с тем, где ошибка. Если тебе приходит в JavaScript неправильный JSON - то стоит посмотреть, что у тебя уходит на стороне сервера. Не то что ты формируешь и передаешь в .put, а то, что ты отдаешь каким-то методом... Добавлено через 8 минут и 5 секунд например вот так.
|
| Автор: Samotnik 18.3.2008, 21:58 |
| 2 all Пасибо всем ! Действительно был метод, который ложит всю красоту в JSON обьект и JSON массив !!! |
| Автор: Samotnik 18.3.2008, 22:24 | ||||||||
| Окей, вроде разобрался.... Знчит, что новую тему не создавть, спрошу тут (т.к. это продолжение...) Значит мне на клиент приходит такая вот строчка
Я беру значения вот так
ВСе ОК ! Но, мне потом нужно передавать в различные функции (их много 10 штук) все эти значения! Но проблема, в том, что я не могу понять, как передать, к примеру, все значения link ?? Ведь, если я напишу, к примеру
То будет ошибка !! т.к. в ImageArray нету link в нем есть только [0,1,2,3] (т.е. массивы) а уже в этих массивах, есть link и description и как быть ? Если я напишу
То ведь я возьму значение, только у первого элемента массива! А их в данном случае 4 !!! А может быть и больше будет! Что можно тут сделать ?? |
| Автор: Samotnik 18.3.2008, 23:05 |
| Пажалста, Помогите!! Это же реальная проблема!! |
| Автор: Nigel 18.3.2008, 23:47 | ||
| Samotnik, а что конкретно не получается? Размер массива вы знаете, размер вложенных в него массивов тоже.
Это? Смотрите 2-ой пост. |
| Автор: Samotnik 19.3.2008, 13:39 | ||
| Блин, либо вы не понимаете, либо я ! Значит матрите... Приходит массив с 2-я массивами. Я их разбиваю на 2 массива
Т.е. в this.linksArray содержиться массив!! элементов, и в this.descriptionArray тоже!! Вот.. Значит мне нужно: Взять, к примеру, из this.linksArray первое значение ВСЕХ элементов !!! Сматрите, если я напишу вот так : this.linksArray[0] то я возьму первый элемент!!! А мне нужно СВОЙСТВО ВСЕХ элементов !! Если же я напишу вот так this.linksArray[0][0] То я возьму то что мне надо НО это ведь будет значение для ПЕРВОГО элемента, а мне нужно взять это первое свойство у ВСЕХ элментов!! Пэ.Эс. Теперь понятно ??? |
| Автор: Fortop 19.3.2008, 15:27 | ||||
Ты понимаешь, что если элементов больше чем 1н, то и первое свойство у всех элементов - это будет список? т.е. у тебя уже был массив imgArray в котором у каждого элемента было два свойства link & description. Чтобы выбрать все эти свойства тебе подсказали сделать цикл. Ты сделал и получил два массива которые содержат в себе нужные тебе свойства. Например, this.linksArray - содержит именно первое свойство у ВСЕХ твоих элементов. А поскольку элементов больше 1го - то это массив! Что именно тебе нужно сейчас? Вот, модифицируй свой код таким образом и скажи что ты наблюдаешь.
Добавлено через 5 минут и 20 секунд Да, и попутно сделай
У меня выводится всего 1на буква 'c' это и правильно. Поскольку твоя запись означает буквально следующее linksArray - взять все link. первый [0] - взять link у первого элемента. второй [0] - взять первый кусочек значения у link первого элемента. В итоге, мы взяли список всех link, взяли первый из них и взяли первый символ этого link. Я надеюсь ты понял? Если да, то поясни, что именно ты хочешь. Ты можешь внятно сказать- какая именно задача стоит перед тобой? Добавлено через 7 минут и 20 секунд У тебя приходит массив ОБЪЕКТов! Где каждый из объектов имеет два свойства. Вот эти свойства для всех элементов ты и вытаскиваешь в два отдельных массива! |