任何人都知道为什么我的一些json元素被反斜杠(\
)转义而其他人没有?
{"first":"John","last":"Smith","dogs":"[{\"name\":\"Rex\",\"breed\":\"Lab\"},{\"name\":\"Spot\",\"breed\":\"Dalmation\"},{\"name\":\"Fido\",\"breed\":\"Terrier\"}]"}
理想情况下,我希望他们中没有人逃脱......
这是通过在两个模型中覆盖as_json
生成的。人has_many狗。
#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
答案 0 :(得分:12)
查看jonathanjulian.com的Rails to_json or as_json?
答案 1 :(得分:7)
尝试删除to_json
上的dogs.to_json
。