2010-09-10 5 views
0

Так мне нужен этот формат JSON и у меня это до сих порПопытка построить разделенный запятыми список из массива

{ 
query:'Li', 
suggestions:['Liberia','Libyan Arab','Liechtenstein','Lithuania'], 
data:['LR','LY','LI','LT'] 
} 



query = params[:query] 
artists = search_object.map{|x| x["artistName"]} 
@all_instances_hash = {} 
@all_instances_hash[:query] = query 
    for instance in artists 
    @all_instances_hash[:suggestions] = instance 
    end 

respond_to do |format| 
    format.json { render :json => @all_instances_hash} 
end 

У меня есть этот код, который я использую, чтобы попытаться сделать этот формат:

  • запрос поступает из Params, который прекрасно
  • художников является массивом всех имен исполнителей, которые также хорошо
  • создания хэша поместить значения в
  • перекручивание через массив имен и пытается поместить его в хэш под предложениями
  • проблема линия с предложениями, как представляется, только сохранения последнего одного

это мой JSON, и кажется, только экономить последний один

{"query":"James jones","suggestions":"James Brown & The James Brown Orchestra"} 

ответ

2

ли

@all_instances_hash[:suggestions] = artists 

вместо

for instance in artists 
    @all_instances_hash[:suggestions] = instance 
    end 

В первом случае вы назначаете массив конкретному полю хеша. Во втором - вы повторно назначаете разные строки этому полю хэша.

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