繁体   English   中英

为什么Rails to_json与Ruby to_json给出不同的结果?

[英]Why is Rails to_json giving a different result than Ruby to_json?

我有一个Ruby脚本,可将哈希转换为json并将其写入文件。 我使用to_json方法。

在文件中,得到以下结果:

{"name":"Bob","age":42}

我将此脚本复制到Rails应用程序的lib目录中的模块中,现在,当我从控制器调用它时,将以下结果写入文件中:

{"name":"Bob","age":"42"}

注意42现在是"42" 这是为什么? 如何强制Rails将其写为42而不是"42"

这引起了我的问题,因为我的应用程序正在处理文件,并且在将其转换回哈希时,int现在是字符串。

编辑

似乎未安装json gem。 这很奇怪,因为我的Ruby脚本和Rails版本都能够调用to_json gem list在已安装的gem list还显示了json 1.8.3 不过,由于我运行了gem install json ,所以一切都会按预期进行。 整数被JSON化为整数。

任何人都可以解释为什么to_jsonrequire 'json'在我的Ruby脚本是工作,即使我不能require 'json'从IRB?

解决方案是,即使gem list显示已gem install json也可以运行gem install json

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM