【发布时间】:2017-03-03 22:28:50
【问题描述】:
我正在创建一个字段数组
def create_fields fields
fields_list = []
fields.each do |field|
# puts "adding_field to array: #{field}"
field_def = { field: field, data: { type: 'Text', description: '' } }
fields_list.push field_def
end
fields_list
end
fields_list 被设置为 jsonb 字段。
假设我通过了
create_fields ['Ford', 'BMW', 'Fiat']
Json 结果是一个数组:
{"field"=>"Ford", "data"=>{"type"=>"Text", "description"=>""}}
{"field"=>"BMW", "data"=>{"type"=>"Text", "description"=>""}}
{"field"=>"Fiat", "data"=>{"type"=>"Text", "description"=>""}}
如何从 json 数组中访问“福特”?我是否错误地创建了数组?有没有更好的方法来创建这个数组,以便我可以访问我想要的字段?
这个断言通过assert_equal(3, fields.count)
但是我想获得“福特”并检查它的属性,例如type = 'Text',type 可以等于 'Number' 或其他。
【问题讨论】:
-
你能澄清一下你真正想做的事情吗? Honda 不包含在此处的任何数组中,所以我想知道当它不存在时您想如何访问它?
-
您确定您的数组包含带有 'field': 'Honda' 的散列吗?
-
@oreoluwa 对不起,我的意思是福特。
-
您所称的 JSON 结果不是有效的 JSON,也不能转换为 JSON,因为它也不是有效的 Ruby 数组。
标签: ruby-on-rails arrays json ruby