1

我试图解析这样一个简单的 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

相同 ?谢谢

4

1 回答 1

5

JSON.parse解析jsonjson表示String

JSON.parse('{"pong": "ok"}')
#⇒ {"pong"=>"ok"}

此外,您可以将json 字符串解析OpenStruct为:

JSON.parse('{"pong":"ok"}', object_class: OpenStruct).pong
#⇒ "ok"
于 2018-05-31T15:22:36.147 回答