2013-12-18 1 views
0

Я работаю над проектом, являющимся базой для мобильного приложения.Rails Каков наилучший способ генерации json-формы для большого количества данных

Una вызовов API возвращает большой объем данных в виде json, и для генерации json требуется много времени.

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

Places.each do |item| 

     place = item.place 

     place.discounts.each do |discount| 
     response_item = { 
      :id => place.id, 
      :latitude => item.latitude, 
      :longitude => item.longitude, 
      :name => place.name, 
      :url_image => place.img, 
      :stars => 0, 
      :is_habitue => false,#is_habitue, 
      :discount => { 
       :id => discount.id, 
       :title => discount.title, 
       :description => discount.description, 
       :raw_title => discount.raw_title, 
       :expiration => discount.expiration 
      } 
     } 

     categories = [] 
     place.categories.each do |category| 
      categories.append ({ 
       :name => category.name, 
       :label => category.label 
      }) 
     end 
     response_item[:categories] = categories 

     benefits = [] 
     discount.benefits.each do |benefit| 
      benefits.append ({ 
      :benefit_type => benefit.benefit_type, 
      :label => benefit.label 
      }) 
     end 
     response_item[:benefits] = benefits 

     processed_places.append response_item 
     end 
end 
render :json => {:places=>processed_places}, :status=>200 

I занимает около 1,4 секунд, чтобы обработать 2700 результатов, но более чем за 6 секунд, чтобы сформировать JSON.

спасибо

+0

Как вы обрабатываете JSON? Больше кода было бы здорово. –

+0

@KieranAndrews Я обновил вопрос. Я добавил, как я генерирую хэш, который позже отображается как json –

ответ

0

Возможно, вы можете попробовать RABL. У этого есть отличные возможности :)

Смежные вопросы