我正在使用Locu API,我目前已将HTTParty请求的结果转换为名为data的ruby哈希。
我试过调用data.to_json,这会在我的哈希中添加反斜杠:
data.to_json
=> "{\"meta\":{\"limit\":25,\"cache-expiry\":3600}
其他人发布了同样的问题,解决方法如下:
puts data.to_json
不幸的是,这根本不会改变我的哈希值。有什么想法吗?
答案 0 :(得分:4)
我试过调用data.to_json,这会在我的哈希中添加反斜杠:
两件事:它的输出不是哈希。它是一个代表JSON中Hash的字符串。其次,反斜杠还可以。它只是消除前导和尾随双引号中双引号的歧义。
而不是
data.to_json
DO
puts data.to_json
将按预期打印:
=> {"meta":{"limit":25,"cache-expiry":3600}
答案 1 :(得分:1)
您所做的是将哈希序列化为JSON String
,用于通过HTTP或类似的方式传递数据。
答案 2 :(得分:0)
这是一个序列化字符串,因此您需要运行
JSON.parse(data)
将其转换为JSON