已经有类似的问题,但我对答案不满意,因为我正在尝试做一些更复杂的事情.
我有提供列表/单个对象的Web服务.对象是用户,类别等.以下是对象的示例:
<UserObject name="foo" description="bar" category=<Category name="cat1" description="bar"> locations=[<Location id=1>, <Location id=2>] >
换句话说,对象有些复杂,可以是这些对象的数组.我正在寻找一种方法:
>将这些对象序列化为JSON或Hash字符串
>通过HTTP发送它们
>将它们反序列化为OpenStruct对象
序列化对象的服务不是ROR.
正在接收和反序列化对象的应用程序是ROR.
必须有一些通用的方法来做到这一点,我尝试使用to_json和JSON.parse,但它只将对象反序列化为一个级别.所以上面我会得到:
<OpenStruct name="foo" description="bar" category="{\"name\"... JSON STRING}" locations="JSON STRING">
而不是JSON STRING我想在对象内部获取原始对象.
Ruby:1.9.3
谢谢
最佳答案 看看
oj宝石.它允许您对来自json的ruby对象进行序列化和反序列化.它还具有非常快的优点.