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

score
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}"
  1. 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
  1. 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
  1. 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