JSON, CSV, and Data Exchange
JSON Generate
JSON.generate turns Ruby hashes and arrays into JSON text.
json generate
Generating JSON is useful when Ruby needs to send or save structured data as text.
JSON Generate
json_generate.rb
Replay: real traced execution (multi-file project)
require "json"
status = "active"
record = {
name: "Ruby",
status: status,
lessons: 4
}
json_text = JSON.generate(record)
status_text = record[:status]
puts "status=#{status_text}"
puts "json=#{json_text}"
require "json"
status = "paused"
record = {
name: "Ruby",
status: status,
lessons: 4
}
json_text = JSON.generate(record)
status_text = record[:status]
puts "status=#{status_text}"
puts "json=#{json_text}"
require "json"
status = "archived"
record = {
name: "Ruby",
status: status,
lessons: 4
}
json_text = JSON.generate(record)
status_text = record[:status]
puts "status=#{status_text}"
puts "json=#{json_text}"
status ← active, json_text ← {"name":"Ruby","status":"active","lessons":4}
1require "json"23status→ active = "active" #@status="paused", "archived"4record = {5 name: "Ruby",6 status: status,7 lessons: 48}910json_text→ {"name":"Ruby","status":"active","lessons":4} = JSON.generate(record){"name":"Ruby","status":"active","lessons":4}11status_text→ active = record[:status]active1213puts "status=#{status_textactive}"14puts "json=#{json_text{"name":"Ruby","status":"active","lessons":4}}"outputstatus=active json={"name":"Ruby","status":"active","lessons":4}
status ← paused, json_text ← {"name":"Ruby","status":"paused","lessons":4}
1require "json"23status→ paused = "paused"4record = {5 name: "Ruby",6 status: status,7 lessons: 48}910json_text→ {"name":"Ruby","status":"paused","lessons":4} = JSON.generate(record){"name":"Ruby","status":"paused","lessons":4}11status_text→ paused = record[:status]paused1213puts "status=#{status_textpaused}"14puts "json=#{json_text{"name":"Ruby","status":"paused","lessons":4}}"outputstatus=paused json={"name":"Ruby","status":"paused","lessons":4}
status ← archived, json_text ← {"name":"Ruby","status":"archived","lessons":4}
1require "json"23status→ archived = "archived"4record = {5 name: "Ruby",6 status: status,7 lessons: 48}910json_text→ {"name":"Ruby","status":"archived","lessons":4} = JSON.generate(record){"name":"Ruby","status":"archived","lessons":4}11status_text→ archived = record[:status]archived1213puts "status=#{status_textarchived}"14puts "json=#{json_text{"name":"Ruby","status":"archived","lessons":4}}"outputstatus=archived json={"name":"Ruby","status":"archived","lessons":4}