2010-09-10 15 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 

在第一種情況下,您將數組分配給特定的散列字段。在第二個 - 你重複分配不同的字符串到該散列字段。