【问题标题】:Ruby, print all the hashes "subfield" in one rowRuby,在一行中打印所有哈希“子字段”
【发布时间】:2019-02-23 17:29:03
【问题描述】:

我有一个结构如下的 JSON 数组:

{"elements":[{"ECL001":{"description":"First Element", "max_level":3, "size":10}},{"ECL002":{"description":"Second Element", "max_level":4, "size":1}}]}

我正在解析我的结构,然后在满足条件时打印数据。

require 'json'

x = JSON.parse(File.open('data_elements.dat').read)

elements = x["elements"]

elements.each do |elem_specific|
  elem_specific.each do |id, data|
    if data['max_level'] > 3
       puts "#{data['description']}, #{data['max_level']}, #{data[size]}"
    end
  end
end

它工作正常,但是有更快的打印数据的解决方案吗?

我的意思是......可以替换这个

puts "#{data['description']}, #{data['max_level']}, #{data[size]}"

类似的东西

puts "#{data[*ALL]}"

【问题讨论】:

    标签: arrays json ruby hash


    【解决方案1】:

    我解决了!

    我发现了这个:

    puts "#{data.values}" # Print all Values
    
    puts "#{data.keys}" # Print all Keys
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-27
      • 2014-03-15
      • 2017-08-27
      • 2015-05-29
      • 2022-12-10
      • 2019-02-03
      • 2013-09-30
      相关资源
      最近更新 更多