ruby-on-rails - 访问散列中的值
问题描述
服务器正在接收以下 JSON 对象。该操作还记录了对象的性质
Update: {"update_id":589695627,"message":{"message_id":190,"from":{"id":3241,first_name":"Bob","username":"Bobby B","language_code":"en"},"date":1592897101,"text":"/activate NjElMV8yMTkuMTkuNDU="}}
Rails.logger.info update.is_a? Hash
json = update.to_json
Rails.logger.info json.is_a? String
is_a
记录器对两个查询都返回 true 。
生成的 json 字符串与收到的语句相同,保存Update
前缀。
一个提取物如何message.from.username
立即从散列中说出(因为运行 json 处理循环似乎也很过载)?
解决方案
您可以尝试使用Hash#dig
:
update = {"update_id":589695627,"message":{"message_id":190,"from":{"id":3241,"first_name":"Bob","username":"Bobby B","language_code":"en"},"date":1592897101,"text":"/activate NjElMV8yMTkuMTkuNDU="}}
update.dig(:message, :from, :username) # "Bobby B"
推荐阅读
- javascript - 为 sequelize.js 查询动态添加属性
- java - +~JF tmp 文件处理流程/jasper java中的生命周期
- bash - ffmpeg 从大型视频 bash 中选择子剪辑并创建输出文件名
- python - 为什么 python -c "..." 加载的 dateutil 与 python file.py 不同
- r - 如何过滤属于单词的数据?
- python - 将堆积条放入数据框中
- javascript - 在 Javascript 中显示时间的问题
- c# - 如何使用 C# selenium 自动化 Md2-datepicker?
- angular - 在Angular中将垂直滚动设置为固定高度的mat-table
- python - 如何在 numba 编译函数中使用 np.empty;错误消息“所有模板被拒绝”