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
相关产品推荐
相关产品推荐

