ruby - 编码和解码 ruby​​ 符号

标签 ruby json

我发现了 multi_json ruby​​ gem 的这种行为:

2.1.0 :001 > require 'multi_json'
 => true
2.1.0 :002 > sym = :symbol
 => :symbol
2.1.0 :003 > sym.class
 => Symbol
2.1.0 :004 > res = MultiJson.load MultiJson.dump(sym)
 => "symbol"
2.1.0 :005 > res.class
 => String

这是存储 ruby​​ 符号的合适方法吗? JSON 是否提供某种方法来区分 :symbol"string"

最佳答案

答案很简单,不。大多数时候,它只对哈希值真正重要,并且哈希值上有一个作弊行为,symbolize_keys!。底线是 JSON 不理解符号,只理解字符串。

由于您使用的是 MultiJson,因此您也可以要求 MultiJson 为您执行此操作...

MultiJson.load('{"abc":"def"}', :symbolize_keys => true)

关于ruby - 编码和解码 ruby​​ 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22166172/

相关文章:

angularjs - 如何替换 $http json 响应中字符串的每个实例

ruby - Ruby 脚本上的 RVM

ruby 爱好者 : What is this called?

ruby-on-rails - 使用 rspec 将日期时间字段测试为 JSON 字符串

ruby-on-rails - 使数据库列可选或不需要,以便我可以创建记录

Python 和 set() 操作 ... & 和 ^

ruby - Roo Gem 检查空工作表

json - flutter Dart 处理json

javascript - 访问正在改变函数内部的变量(jQuery)

javascript - 无法将 JSON 值分配给 JS 变量