Ruby can parse JSON, transform the data, and generate CSV text in one small flow.

Data Transform

data_transform.rb
require "csv"
require "json"

minimum = 
json_text = '[{"name":"Ada","score":90},{"name":"Matz","score":85},{"name":"Grace","score":70}]'
records = JSON.parse(json_text)

selected = records.select { |record| record["score"] >= minimum }
names = selected.map { |record| record["name"] }
names_text = names.join("/")

csv_text = CSV.generate do |csv|
  csv << ["name"]
  names.each { |name| csv << [name] }
end

csv_line_count = csv_text.lines.count

puts "minimum=#{minimum}"
puts "count=#{names.length}"
puts "names=#{names_text}"
puts "csv_lines=#{csv_line_count}"
require "csv"
require "json"

minimum = 
json_text = '[{"name":"Ada","score":90},{"name":"Matz","score":85},{"name":"Grace","score":70}]'
records = JSON.parse(json_text)

selected = records.select { |record| record["score"] >= minimum }
names = selected.map { |record| record["name"] }
names_text = names.join("/")

csv_text = CSV.generate do |csv|
  csv << ["name"]
  names.each { |name| csv << [name] }
end

csv_line_count = csv_text.lines.count

puts "minimum=#{minimum}"
puts "count=#{names.length}"
puts "names=#{names_text}"
puts "csv_lines=#{csv_line_count}"
require "csv"
require "json"

minimum = 
json_text = '[{"name":"Ada","score":90},{"name":"Matz","score":85},{"name":"Grace","score":70}]'
records = JSON.parse(json_text)

selected = records.select { |record| record["score"] >= minimum }
names = selected.map { |record| record["name"] }
names_text = names.join("/")

csv_text = CSV.generate do |csv|
  csv << ["name"]
  names.each { |name| csv << [name] }
end

csv_line_count = csv_text.lines.count

puts "minimum=#{minimum}"
puts "count=#{names.length}"
puts "names=#{names_text}"
puts "csv_lines=#{csv_line_count}"
data transform Data exchange often means reading one format and writing another deterministic format.