JSON에 간단한 구조체를 직렬화하려고하는데 JSON에서 해당 구조체의 인스턴스를 만들 수 없습니다. 여기 내가 어떻게 그것을하려고하는지입니다.Ruby JSON을 사용하여 struct serialize
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
은 내가 다음과 같은 출력 얻을 :이 경우
"#<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>'
감사합니다. 나는 미래에 to_h 메소드가 루비 2.0에 추가되었다는 것을 읽는 사람들에게 주목하고 싶다. 그래서 만약 당신이 1.9.3을 사용한다면 당신은 업그레이드해야 할 것이다. –