Ruby Hash无法在Rails控制台中转换为JSON

Bec*_*cca 0 ruby hash json ruby-on-rails

我正在使用Locu API,目前已将HTTParty请求的结果放入名为data的ruby哈希中。

我试图调用data.to_json,这在我的哈希中放了反斜杠:

data.to_json
 => "{\"meta\":{\"limit\":25,\"cache-expiry\":3600}
Run Code Online (Sandbox Code Playgroud)

有人发布了相同的问题,该问题已解决,如下所示:

puts data.to_json
Run Code Online (Sandbox Code Playgroud)

不幸的是,这根本不会改变我的哈希值。有任何想法吗?

Mar*_*cny 5

我试图调用data.to_json,这在我的哈希中放了反斜杠:

两件事:该输出不是哈希。这是一个字符串,表示您的JSON哈希值。第二,反斜杠可以。只是要消除双引号与前导和尾随双引号之间的歧义。

代替

data.to_json
Run Code Online (Sandbox Code Playgroud)

做

puts data.to_json
Run Code Online (Sandbox Code Playgroud)

它将按预期打印:

 => {"meta":{"limit":25,"cache-expiry":3600}
Run Code Online (Sandbox Code Playgroud)