从谷歌距离矩阵解析json

时间:2017-01-18 14:44:15

标签: ruby-on-rails json

在rails应用程序中,对google的距离矩阵的查询会返回正确的数据。控制器在对象中生成结果

matrix.origins << origin
matrix.destinations << destination
matrix.data
@data = matrix.data

这是一个哈希数组。实例变量@data

          

返回[[#<GoogleDistanceMatrix::Route origin: #<GoogleDistanceMatrix::Place lat: 61.1173, lng: 13.8875>, destination: #<GoogleDistanceMatrix::Place lat: 61.3405325, lng: 13.7243266>, status: "ok", distance_text: "56.9 km", distance_in_meters: 56948, duration_text: "1 hour 6 mins", duration_in_seconds: 3944>]]

但是,当我对整数不感兴趣时​​,<%= data["distance_text"].to_s %>语句会生成no implicit conversion of String into Integer。因此,当我期望each命令处理它时,我怀疑它正在调用索引。怎么能这样做呢?

2 个答案:

答案 0 :(得分:0)

如果您使用的是Ruby 2.3x或更高版本

reversedList = []
for i in range(len(charList)-1,-1,-1):
    reversedList.append(charList[i])

OR

@data.dig(0,0,:distance_text)

答案 1 :(得分:0)

由于它正在使用索引,请使用它!

<% @data.each do |index, data| %>
  <div class="small-2 medium-2 large-2 columns text-center">
    <%= index.distance_text %> 
  </div>
  <div class="small-2 medium-2 large-2 columns text-center">
    <%= index.duration_text %>
  </div>
<% end %>