Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как правильно обработать hash из json? 
:(
    Опции темы
rrroman
  Дата 18.12.2014, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 2.12.2008

Репутация: нет
Всего: нет



Пытаюсь разобраться с простыми конструкциями руби. Получаю массив из json данныэ response = JSON.parse(RESPONSE) пытаюсь его обработать таким образом

Код

class GetFilm
    attr_accessor :group_theaters :parameter

    def initialize(*catalogue)
        title = self.get_data(catalogue, "film")
        @group_theaters = title
    end

def get_data(*catalogue, parameter)
        @array = catalogue.length
    end
end


Отправляю данные

Код

s = GetFilm.new(response.values)
puts s.group_theaters


Почему-то catalogue.length у меня всегда 1, изначально json имеет вид

Код

'{"catalog": { "1": { "title": "Left Behind", "theaters": ["Ukraine", "Big World"], }, "2": { "title": "Into the storm", "theaters": ["Ukraine", "Big World"], } }}'
Что делаю не так?

PM MAIL   Вверх
smartvpn
Дата 11.1.2015, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


VPN услуги



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 11.1.2015

Репутация: нет
Всего: нет



Когда вы получаете hash с помощью JSON.parse он состоит из одного корневого элемента:
Код

catalog: {...}


catalog.length - соответственно вернет вам размер этого хеша, равный 1

Приведенного кода недостаточно чтобы понять, что именно вы хотите сделать

Допустим получить title первого элемента в хеше:
Код

catalogue['catalog']['1']['title']

PM MAIL WWW   Вверх
Google
  Дата 26.9.2017, 14:08 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby: Общие вопросы"
source777
  • С чего начать? начинаем
  • Ссылки на полезные ресурсы смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0910 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.