【发布时间】:2012-01-14 22:01:15
【问题描述】:
我想将一个对象序列化为 JSON,通过rabbitmq 将其通过网络发送,然后对其进行反序列化。
我有以下要序列化的对象:
lead = Lead.new
lead.company = 'some company'
operation = proc{ AMQP::Exchange.default.publish(
lead.to_json,
:routing_key => header.reply_to,
:correlation_id => header.correlation_id
)}
另一方面,我正在尝试像这样对对象进行反序列化:
callback_queue.subscribe do |header, body|
puts "received #{body.inspect}"
lead = ActiveSupport::JSON.decode body
puts lead.company #NoMethodError: undefined method `company' for #<Array:0x6fe03f3b>
奇怪的是,json 是一个由 3 个哈希组成的数组,看起来像这样。
[{\"created_at\":null,\"email\":\"dagda1@scotalt.net\",\"id\":null,\"lead_id\":null,\"updated_at\":null},{\"created_at\":null,\"email\":\"paul.cowan@continuity2.com\",\"id\":null,\"lead_id\":null,\"updated_at\":null}]"
谁能看出我做错了什么?
【问题讨论】:
-
我的问题是我无法解码对象。我不明白为什么对象没有正确解码。