3

私のjson要素の一部がバックスラッシュ()でエスケープされているのに、他の要素はエスケープされていない理由を誰かが知って\いますか?

{"first":"John","last":"Smith","dogs":"[{\"name\":\"Rex\",\"breed\":\"Lab\"},{\"name\":\"Spot\",\"breed\":\"Dalmation\"},{\"name\":\"Fido\",\"breed\":\"Terrier\"}]"}

理想的には、それらのどれも逃げたくない...

as_jsonこれは、2つのモデルでオーバーライドすることによって生成されました。人has_manyDogs。

#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
4

2 に答える 2

12

jonathanjulian.com のRails to_json または as_jsonをチェックしてください。

于 2010-12-03T18:02:22.710 に答える
7

を削除してみてto_jsonくださいdogs.to_json

于 2010-12-03T17:42:40.387 に答える