Используйте JSON.parse для разбора OpenStruct или хэша - PullRequest
0 голосов
/ 31 мая 2018

Я попытался разобрать простой 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

То же самое?Спасибо

1 Ответ

0 голосов
/ 31 мая 2018

JSON.parse анализирует json и json означает String:

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

Кроме того, вы можете анализировать строку json в OpenStruct:

JSON.parse('{"pong":"ok"}', object_class: OpenStruct).pong
#⇒ "ok"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...