Ruby JSON处理 #

一、基本用法 #

1.1 解析JSON #

ruby
require 'json'

json_string = '{"name": "Ruby", "version": 3.3}'
data = JSON.parse(json_string)
data["name"]

data = JSON.parse(json_string, symbolize_names: true)
data[:name]

1.2 生成JSON #

ruby
require 'json'

data = { name: "Ruby", version: 3.3 }
json_string = data.to_json
json_string = JSON.generate(data)

pretty_json = JSON.pretty_generate(data)

二、文件操作 #

ruby
require 'json'

data = JSON.load(File.read("data.json"))
JSON.dump(data, File.open("output.json", "w"))

三、自定义序列化 #

ruby
class Person
  attr_reader :name, :age

  def initialize(name, age)
    @name = name
    @age = age
  end

  def to_json(*args)
    { name: @name, age: @age }.to_json(*args)
  end

  def self.from_json(json)
    data = JSON.parse(json)
    new(data["name"], data["age"])
  end
end

四、总结 #

本章我们学习了:

  1. JSON.parse:解析JSON字符串
  2. to_json:生成JSON字符串
  3. 文件操作:load、dump
  4. 自定义序列化:to_json、from_json

接下来让我们学习Ruby的CSV处理!

最后更新:2026-03-27