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

Rails 6中如何提取HTTParty返回哈希内metadata字段的name值

实现步骤

你拿到的返回数据中,metadata字段是序列化后的JSON字符串,需要先解析为Ruby哈希再提取字段,具体实现如下:

单条提取(匹配你给出的返回示例)

# 纯Ruby环境需先引入JSON库,Rails项目可省略
require 'json'

# 逐层取值并解析
metadata = JSON.parse(@response[:result][0][:metadata])
target_name = metadata['name']

puts target_name
# 输出结果:Club Legends #44 | Henrik - Celtic

注意:如果HTTParty返回的哈希使用字符串作为键,把上述代码中的:result、:metadata替换为"result"、"metadata"即可。

批量提取(适配result有多条数据的场景)

require 'json'

# 遍历result提取所有metadata中的name值
name_list = @response[:result].map do |item|
  JSON.parse(item[:metadata])['name']
end

安全容错写法

避免某层级字段为空时报错:

require 'json'

target_name = @response.dig(:result, 0, :metadata)
                      &.then { |str| JSON.parse(str)['name'] }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 06:12:03