Rails“as_json”方法返回无效的json?

时间:2013-08-18 14:06:28

标签: ios ruby-on-rails json

我正在尝试让一个iOS应用程序读取由rails服务器生成的json。现在,我只是将它作为一个文本文件,但最终的目标是通过一条路线检索它。

iOS应用程序正在尝试读取错误(使用as_json生成):

{"created_at"=>Fri, 16 Aug 2013 13:21:07 UTC +00:00, "gender"=>"M", "id"=>1, "location_id"=>1, "max_hit_points"=>nil, "my_name"=>"Jim Bob", "npc_type_id"=>nil, "universe_id"=>1, "updated_at"=>Fri, 16 Aug 2013 13:21:07 UTC +00:00} 

当我把它交给json验证器(http://jsonformatter.curiousconcept.com

我几乎所有事情都会出现几个错误,特别是它有怎样的错误" =>"而不是冒号。

我做的事情完全奇怪吗?为什么rails似乎没有生成有效的json?有没有多种类型的有效json(箭头与冒号?)如何让它生成iOS应用程序(或验证器)喜欢的json?

2 个答案:

答案 0 :(得分:4)

as_json用于准备适合json渲染的哈希。 (see doc

您需要调用to_json来获取真正的json字符串。

例如:

your_object.as_json.to_json

有关差异和影响的更多信息can be found here

答案 1 :(得分:1)

加,这是我自己的愚蠢错误。 “as_json”将某些内容转换为文字ruby json对象(这是一个哈希)。 “to_json”将其转换为非ruby语言可以读取的json字符串。呸。