Rails JSON转换错误

时间:2011-02-08 15:25:34

标签: ruby-on-rails json serialization

尝试将我的对象转换为json以获得API连接时,我遇到了一个奇怪的错误。以下详述了我的经历。

如果我打电话

JSON.generate(self)

输出

{"validation_context":null,"errors":{},"params":{"number":"123","name":"test"}}

我只需要json对象中的params以及当我调用

JSON.generate(self.params) # or the next line
JSON.generate(@params) #params has been set on the object as an accessor

我得到了

undefined method `merge' for #<JSON::Ext::Generator::State:0x1043f1a38>

出于某种原因,params不被视为哈希。它在我获取父对象时序列化,但是否则失败。我怎样才能序列化params?

1 个答案:

答案 0 :(得分:2)

原来我发现了一个相对简单的解决方案。

而不是

JSON.generate(object_to_serialize)

使用

object_to_serialize.to_json

将按预期工作。