Próbuję serializować prostą strukturę do JSON, który działa dobrze, ale nie mogę go uzyskać, aby utworzyć wystąpienie tej struktury z JSON. Oto, jak próbuję to zrobić.Ruby serializować struct z 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
I pojawia się następujący komunikat:
"#<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>'
Dzięki które pracowały doskonale. Chciałbym zauważyć, że dla każdego, kto przeczyta to w przyszłości, metoda to_h została dodana w Ruby 2.0, więc jeśli używasz wersji 1.9.3, tak jak ja, będziesz musiał dokonać aktualizacji. –