JSON 通过 FasterCSV 将数组转换为 CSV

JSON Array to CSV via FasterCSV

我有一个 JSON 数组,格式如下。

[{"Name":"Ann","Gender":"Female","Age":"20"},{"Name":"John","Gender":"Male","Age":"22"}]

我想将其转换为以下 CSV 格式而不打印 "Key",而且我希望它仅打印 Name 值和 Age 值。 例如 安,20 约翰,22

我试过以下代码。

#!//usr/bin/env ruby
require "rubygems"
require 'fastercsv'
require 'json'

csv_string = FasterCSV.generate({}) do |csv|
   JSON.parse(File.open("test").read).each do |hash|
    csv << hash
  end
end

puts csv_string

test 包含我尝试解析的 json 数组。

您的 JSON 格式无效。有效的 json 格式是:

[{"Name":"Ann","Gender":"Female","Age":"20"},{"Name":"John","Gender":"Male","Age":"22"}]

试试这个:

require "rubygems"
require 'fastercsv'
require 'json'

csv_string = FasterCSV.generate({}) do |csv|
  JSON.parse(File.open("test").read).each do |hash|
    csv << [hash["Name"], hash["Age"]]
  end
end

puts csv_string