Rails 3: Escape characters (\) appearing in part of JSON string
13,695
Solution 1
Try removing the to_json
on dogs.to_json
.
Solution 2
Check out jonathanjulian.com's Rails to_json or as_json?
Author by
Meltemi
Updated on June 14, 2022Comments
-
Meltemi almost 2 years
Anyone know why some of my json elements are being backslash(
\
) escaped while others are not?{"first":"John","last":"Smith","dogs":"[{\"name\":\"Rex\",\"breed\":\"Lab\"},{\"name\":\"Spot\",\"breed\":\"Dalmation\"},{\"name\":\"Fido\",\"breed\":\"Terrier\"}]"}
Ideally I'd like NONE of them to be escaped...
This was generated by overriding
as_json
in two models. Person 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