Ruby(库)中的XML和JSON的对象序列化和反序列化?
问题描述:
我正在寻找一种方法来从它的xml/json表示序列化/取消对象。Ruby(库)中的XML和JSON的对象序列化和反序列化?
我不关心xml命名空间。
是否有红宝石什么,让我做的事情:
class Person
attr :name, true
attr :age, true
attr :sex, true
end
person_xml =
"<Person>
<name>Some Name</name>
<age>15</age>
<sex>Male</male>
</Person>"
// and then do
p = person_xml.deserialize(Person.class)
// or something of that sort
从.NET背景的,我找的一些东西,让我消耗从RESTful Web服务/分派对象。
你如何在rails中使用webservices? (xml和json)。使用XPath /活动资源似乎有点太冗长(即使是净人)
使用Ruby 1.9.x的,因为你是使用Rails,Rails的Rails的3.X
感谢
答
(通过ActiveSupport)已经提供了一种在YAML,XML和JSON中序列化/反序列化对象的方法。
例如
class Post
attr_accessor :title
attr_accessor :body
end
post = Post.new.tap do |p|
p.title = "A title"
p.body = "A body"
end
post.to_yaml
# => "--- !ruby/object:Post \nbody: A body\ntitle: A title\n"
post.to_json
# => => "{\"body\":\"A body\",\"title\":\"A title\"}"
如果使用ActiveRecord的模型,然后Rails的的已知,如何序列化/反序列化它们。
我写了一篇关于serializing and deserializing objects in Ruby using JSON的文章。以下是有关serialization features of ActiveModel的文档。
如何在导轨外使用它?我们需要消费一些不同的Web服务,并且想要反序列化对象的响应,以便我们可以轻松地操纵它们。 – 2011-02-01 08:40:22