You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rails中如何从JSON格式page.body获取error字段值?

Rails中提取JSON字符串内的error字段值方法

你遇到的问题根源是page.body本质是JSON格式的字符串,而非Ruby哈希对象,所以直接用[:error]调用会触发类型转换错误。include? "error"能返回true,只是因为它在字符串里找到了"error"子串,和哈希键检测不是一回事。

解决方法很简单,先把JSON字符串解析为Ruby哈希,再提取字段:

  1. 解析JSON字符串
    Rails默认已集成json库,直接用JSON.parse()方法转换:

    parsed_body = JSON.parse(page.body)
    
  2. 提取error字段值
    解析后的对象是标准Ruby哈希,用符号键或字符串键都能获取值:

    error_message = parsed_body[:error]
    # 或者
    error_message = parsed_body["error"]
    

完整示例:

page.body = "{\"error\":\"Sorry, that is an invalid URL\"}"
parsed_body = JSON.parse(page.body)
puts parsed_body[:error] # 输出结果: Sorry, that is an invalid URL

内容的提问来源于stack exchange,提问作者Kumar Nikhil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 01:59:50