【发布时间】:2011-05-19 21:25:45
【问题描述】:
有人知道为什么我的一些 json 元素被反斜杠(\)转义,而另一些则没有?
{"first":"John","last":"Smith","dogs":"[{\"name\":\"Rex\",\"breed\":\"Lab\"},{\"name\":\"Spot\",\"breed\":\"Dalmation\"},{\"name\":\"Fido\",\"breed\":\"Terrier\"}]"}
理想情况下,我不希望它们中的任何一个被逃脱......
这是通过在两个模型中覆盖 as_json 生成的。人 has_many Dogs。
#models/person.rb
class Person < ActiveRecord::Base
has_many :dogs
def as_json(options={})
{
:first => first,
:last => last,
:dogs => dogs.to_json
}
end
end
#models/dog.rb
class Dog < ActiveRecord::Base
belongs_to :people
def as_json(options={})
{
:name => name,
:breed => breed
}
end
end
【问题讨论】:
标签: ruby-on-rails json serialization object-graph