Tôi đang cố gắng tuần tự hóa một cấu trúc đơn giản để JSON hoạt động tốt, nhưng tôi không thể tạo ra một cá thể của cấu trúc đó từ JSON. Đây là cách tôi đang cố gắng làm điều đó.Cấu trúc tuần tự hóa Ruby với JSON
require 'rubygems'
require 'json'
Person = Struct.new(:name, :age)
json = Person.new('Adam', 19).to_json
puts json
me = JSON.load(json)
puts me.name
Và tôi nhận được kết quả như sau:
"#<struct Person name=\"Adam\", age=19>"
/usr/lib/ruby/1.9.1/json/common.rb:148:in `parse': 746: unexpected token at '"#<struct Person name=\"Adam\", age=19>"' (JSON::ParserError)
from /usr/lib/ruby/1.9.1/json/common.rb:148:in `parse'
from /usr/lib/ruby/1.9.1/json/common.rb:309:in `load'
from why.rb:9:in `<main>'
Cảm ơn mà làm việc một cách hoàn hảo. Tôi chỉ muốn lưu ý cho bất cứ ai đọc điều này trong tương lai rằng phương pháp to_h đã được thêm vào trong ruby 2.0, vì vậy nếu bạn đang sử dụng 1.9.3 như tôi là bạn sẽ phải nâng cấp. –