【问题标题】:Trying to construct a comma delimited list from an array尝试从数组构造逗号分隔列表
【发布时间】:2010-09-10 18:04:40
【问题描述】:

所以我需要这种格式的 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

我有这段代码用来尝试制作这种格式:

  • 查询来自参数,这很好
  • artists 是所有艺术家名字的数组,也不错
  • 创建一个散列以将值放入
  • 遍历名称数组并尝试将其放入建议项下的哈希中
  • 问题在于建议的行,似乎只保存最后一个

这是我的 json,它似乎只保存了最后一个

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

【问题讨论】:

    标签: ruby-on-rails ruby json


    【解决方案1】:

    @all_instances_hash[:suggestions] = artists 
    

    而不是

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

    在第一种情况下,您将数组分配给特定的哈希字段。在第二个中 - 您反复为该哈希字段分配不同的字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-07
      相关资源
      最近更新 更多