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

Ruby调用Uber API后,如何提取响应中的价格估值数据?

解决Uber API价格估算值提取问题

嘿,我来帮你搞定这个问题!你已经成功调用Uber API拿到价格估算的数组了,现在要提取具体值其实很简单——这个Uber::Price对象是uber gem封装后的结果,它把API返回的字段都做成了可直接访问的属性,或者你也可以把它转成哈希来操作。

方法一:直接调用对象属性

Uber官方API返回的每个价格条目包含display_name(车型名称)、estimate(显示用的预估价格)、low_estimate/high_estimate(价格区间)、distance(行程距离)等字段,对应到Uber::Price对象上,你可以直接用点语法调用这些属性。

修改你的脚本,把最后的puts ride替换成这段代码:

# 获取价格估算数组
price_estimates = ride()

# 遍历每个车型的价格估算
price_estimates.each do |price|
  puts "车型: #{price.display_name}"
  puts "预估价格: #{price.estimate}"
  puts "价格区间: #{price.low_estimate} - #{price.high_estimate}"
  puts "行程距离: #{price.distance} 英里"
  puts "------------------------"
end

方法二:转成哈希查看所有字段

如果你不确定对象有哪些可用属性,或者想一次性拿到所有键值对,可以用to_h方法把Uber::Price对象转换成哈希:

# 输出第一个价格条目的所有字段
puts price_estimates[0].to_h.inspect

这样就能看到和官方API响应结构一致的哈希数据,你可以通过键名来提取对应的值,比如price_hash[:display_name]。

调试小技巧

如果想快速查看对象的详细信息,还可以用inspect方法:

puts price_estimates[0].inspect

它会输出对象的所有实例变量,帮你确认哪些字段是可用的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:03:27