JSON, CSV, and Data Exchange
JSON Parse
Ruby's JSON library turns a JSON string into hashes, arrays, strings, and numbers.
json parse
Parsing JSON lets Ruby read data that was stored or exchanged as text.
JSON Parse
json_parse.rb
Replay: real traced execution (multi-file project)
require "json"
score = 8
json_text = %({"name":"Ada","score":#{score}})
data = JSON.parse(json_text)
name = data["name"]
score_value = data["score"]
passed = score_value >= 7
puts "name=#{name}"
puts "score=#{score_value}"
puts "passed=#{passed}"
require "json"
score = 5
json_text = %({"name":"Ada","score":#{score}})
data = JSON.parse(json_text)
name = data["name"]
score_value = data["score"]
passed = score_value >= 7
puts "name=#{name}"
puts "score=#{score_value}"
puts "passed=#{passed}"
require "json"
score = 10
json_text = %({"name":"Ada","score":#{score}})
data = JSON.parse(json_text)
name = data["name"]
score_value = data["score"]
passed = score_value >= 7
puts "name=#{name}"
puts "score=#{score_value}"
puts "passed=#{passed}"
score ← 8, json_text ← {"name":"Ada","score":8}, data ← {"name"=>"Ada", "score"=>8}
1require "json"23score→ 8 = 8 #@score=5, 104json_text→ {"name":"Ada","score":8} = %({"name":"Ada","score":#{score8}})5data→ {"name"=>"Ada", "score"=>8} = JSON.parse(json_text){"name"=>"Ada", "score"=>8}67name→ Ada = data["name"]Ada8score_value→ 8 = data["score"]89passed→ true = score_value8 >= 71011puts "name=#{nameAda}"12puts "score=#{score_value8}"13puts "passed=#{passedtrue}"outputname=Ada score=8 passed=true
score ← 5, json_text ← {"name":"Ada","score":5}, data ← {"name"=>"Ada", "score"=>5}
1require "json"23score→ 5 = 54json_text→ {"name":"Ada","score":5} = %({"name":"Ada","score":#{score5}})5data→ {"name"=>"Ada", "score"=>5} = JSON.parse(json_text){"name"=>"Ada", "score"=>5}67name→ Ada = data["name"]Ada8score_value→ 5 = data["score"]59passed→ false = score_value5 >= 71011puts "name=#{nameAda}"12puts "score=#{score_value5}"13puts "passed=#{passedfalse}"outputname=Ada score=5 passed=false
score ← 10, json_text ← {"name":"Ada","score":10}, data ← {"name"=>"Ada", "score"=>10}
1require "json"23score→ 10 = 104json_text→ {"name":"Ada","score":10} = %({"name":"Ada","score":#{score10}})5data→ {"name"=>"Ada", "score"=>10} = JSON.parse(json_text){"name"=>"Ada", "score"=>10}67name→ Ada = data["name"]Ada8score_value→ 10 = data["score"]109passed→ true = score_value10 >= 71011puts "name=#{nameAda}"12puts "score=#{score_value10}"13puts "passed=#{passedtrue}"outputname=Ada score=10 passed=true