Rails 3:转义字符(\)出现在JSON字符串的一部分中

任何人都知道为什么我的一些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  first, :last => last, :dogs => dogs.to_json } end end #models/dog.rb class Dog  name, :breed => breed } end end 

尝试删除to_json上的dogs.to_json

查看jonathanjulian.com的Rails to_json或as_json ?