我想解析JSON字符串并将它们转换为哈希值。
我创建了一个名为to_h
的方法并将其放在String
类中,并且它有效。这就是我打算如何使用它Net::HTTP.get_response(uri).body.to_h
这是方法:
class String
def to_h
JSON.parse(self)
end
end
但当我将其名称更改为to_hash
时,我在同一个字符串Net::HTTP.get_response(uri).body
上收到以下错误。
A JSON text must at least contain two octets! (JSON::ParserError)
我不明白为什么会这样做。谁能帮我这个。 谢谢:))
答案 0 :(得分:0)
使用Net :: HTTP.get_response(uri).to_h
调用您的方法我怀疑get_response()返回的对象不是String,而是已经有to_hash方法的对象。 您的to_hash版本可能未被使用,因为您在非String对象上调用它。