[英]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_json
和require 'json'
在我的Ruby脚本是工作,即使我不能require 'json'
从IRB?
解决方案是,即使gem list
显示已gem install json
也可以运行gem install json
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.