json - 使用 JSON.parse 解析 OpenStruct 或哈希
问题描述
我试图解析这样一个简单的 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
相同 ?谢谢
解决方案
JSON.parse
解析json
并json
表示String
:
JSON.parse('{"pong": "ok"}')
#⇒ {"pong"=>"ok"}
此外,您可以将json 字符串解析OpenStruct
为:
JSON.parse('{"pong":"ok"}', object_class: OpenStruct).pong
#⇒ "ok"
推荐阅读
- git - 多个 github 帐户的权限被拒绝
- python - 无法登录 Django 管理页面
- tcl - 如何在 VHDL 中检查所有组件层次结构级别的信号值
- scala - 光滑的错误:类型参数的数量错误。预期:0,实际:1
- linux - Linux内核挂起等待中断
- javascript - 在Javascript中传递给函数的数组变量变得未定义
- html - flex 项目不使用 flex-grow 扩展或收缩
- php - 在 PHP MYSQL 中将表中的数据从一台数据库服务器复制到另一台数据库服务器
- css - 对视口响应和对子内容灵活的容器
- php - 从硬编码的 HTML 站点中删除 index.php