我试图像这样解析一个简单的JSON:
JSON.parse({"pong": "ok"})
它失败了
2.4.0 :014 > JSON.parse({"pong": "ok"})
TypeError: no implicit conversion of Hash into String
from (irb):14
这是怎么回事?为什么要转换为字符串?
再试一次,这次是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
一样? 谢谢
JSON.parse
解析json
,json
表示String
:
JSON.parse('{"pong": "ok"}')
#⇒ {"pong"=>"ok"}
此外,您可以将 json 字符串解析为OpenStruct
:
JSON.parse('{"pong":"ok"}', object_class: OpenStruct).pong
#⇒ "ok"