Rails 6中使用HTTParty获取HTTP响应后如何提取token_address值
提取token_address的实现方法
你当前返回的@responses是二维键值数组结构,转为哈希后操作会更便捷,以下是具体实现方案:
方案1:直接转哈希提取(推荐)
你可以直接调用数组的to_h方法将键值对数组转为标准哈希结构,再逐层取值即可:
# 纯Ruby代码中提取 response_hash = @responses.to_h token_address = response_hash["result"].first["token_address"]
如果需要在ERB模板中直接输出,可以写成单行代码:
<%= @responses.to_h["result"].first["token_address"] %>
方案2:遍历定位提取
如果你不想转换结构,也可以直接遍历找到result对应的值再提取:
target_token = nil @responses.each do |key, value| next unless key == "result" target_token = value.first["token_address"] break end
逻辑说明
- 你输出的四组数据本质是
[键名, 键值]格式的子数组,转哈希后可以直接通过键名快速定位取值 result对应的值是一个数组,数组的第一个元素就是包含token_address的哈希对象,调用first取首个元素后即可通过键名拿到目标值
内容的提问来源于stack exchange,提问作者Andy
相关产品推荐
相关产品推荐

