从json中的数组返回单独的值

时间:2017-03-29 21:28:48

标签: ruby-on-rails json ruby ruby-on-rails-4

我在控制器中有一个实例变量@seats,其值如下(我使用byebug断点检查了值)

#<Programmability::Response:0x007fdae0bb84e8 @return_code=0, @outputs=[[2, 4]], @table=#<Programmability::Table:0x007fdae0bb8538 @rows=nil, @columns=["column1", "column2"]>>

如何在JSON中显示以下内容

column1: 2
column2: 4

我在JSON中有以下行,返回output: [[2, 4]]

json.output        @seats.blank? ? nil : @seats.outputs

2 个答案:

答案 0 :(得分:0)

@seats.outputs.flatten.each_with_index do |val,index|
  puts "column#{index+1}: #{val}"
end

答案 1 :(得分:0)

基于此:

  

我在json中有以下行返回输出:[[2,4]]

json.output        @seats.blank? ? nil : @seats.outputs

我猜你已经在使用jbuilder模板了。如果是这样,为了得到你上面提到的输出,我想你可以在你的jbuilder模板中做这样的事情:

json.output do
  @seats.outputs.each_with_index |col, ndx|
    json.set! "column#{ndx}", col
  end
end

我没有对此进行过测试,但它似乎可以根据此处的文档进行操作:https://github.com/rails/jbuilder