to_json在Rails中返回字符串而不是json [英] to_json returns string instead of json in Rails

查看:179
本文介绍了to_json在Rails中返回字符串而不是json的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面这段代码应该返回一个json:

  @series = @ series.map do | serie | {
:name => serie.name,
:id => serie.id
}

@ series.to_json

返回如下:

 [{\name \:\Barra \,\ id \:3},{\name \:\Botafogo 1 \,\id \:1},{\name \:\ Botafogo 2 \,\id \:2},{\name \:\Tijuca \,\id \:4}]

为什么它返回一个字符串而不是json?



'json'gem同时安装在我的.rb文件的顶部。

。出于某种原因 as_json 做我想要的,而不是 to_json 。我不明白为什么。如果我知道,我会更新我的答案。
奇怪的是,在将我的开发数据库表格sqlite 3更改为postgresql之前, to_json 工作正常。但我不认为这可能是问题所在,因为它与Heroku的postgre数据库配合得很好。


The following piece of code should return a json:

  @series = @series.map do |serie| {
    :name => serie.name,
    :id => serie.id
  }

  @series.to_json

It's return is the following:

"[{\"name\":\"Barra\",\"id\":3},{\"name\":\"Botafogo 1\",\"id\":1},{\"name\":\"Botafogo 2\",\"id\":2},{\"name\":\"Tijuca\",\"id\":4}]"

Why is it returning a string instead of a json?

'json' gem is both installed and required at the top of my .rb file

解决方案

I've just resolved my problem. For some reason as_json does what I want rather than to_json. I didn't quite understand why. I'll update my answer if I ever find out. That's strange, for to_json worked before I changed my development database form sqlite 3 to postgresql. But I don't think that might be the problem, because it was working nicely with Heroku's postgre database.

这篇关于to_json在Rails中返回字符串而不是json的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆