To_json returning an incorrect format in rails 2.3.4

It seems to_json is returning an incorrect format.I have a Product
model with id , title, description.
In ProductsController, in index I have

def index
@products = Product.all

respond_to do |format|
  format.html # index.html.erb
  format.xml  { render :xml =>

@products.to_xml(:procs=>allprocs, :skip_instruct =>
format.json { render :json =>
{:products=>@products.to_json(:only=>[:id,:title]) } }



It returns the result as

{“products”:"[{“product”:{“title”:“Cross Stitch Design”,“id”:
4}},{“product”:{“title”:“Effective Java”,“id”:20}},{"product
“:{“title”:“Thinking in Java”,“id”:22}},{“product”:{“title”:
“Programming in Java”,“id”:23}},{“product”:{“title”:“My

It is escaping " is OK. But “products”:"[{ … the javascript treats
it as a string because of ". can you please suggest any solution to
this problem.