我尝试解析一个简单的JSON:
JSON.parse({"pong": "ok"})
它失败了
2.4.0 :014 > JSON.parse({"pong": "ok"})
TypeError: no implicit conversion of Hash into String
from (irb):14
这里有什么问题?我为什么要转换为String?
另一次尝试,这次使用 OpenStruct :
2.4.0 :001 > pong = OpenStruct.new(pong: 'OK')
=> #<OpenStruct pong="OK">
2.4.0 :002 > JSON.parse(pong)
TypeError: no implicit conversion of OpenStruct into String
from (irb):2
一样吗? 谢谢
答案 0 :(得分:3)
JSON.parse
解析json
和json
表示String
:
JSON.parse('{"pong": "ok"}')
#⇒ {"pong"=>"ok"}
此外,您可以将 json字符串解析为OpenStruct
:
JSON.parse('{"pong":"ok"}', object_class: OpenStruct).pong
#⇒ "ok"