【问题标题】:no implicit conversion of String into Integer (TypeError)没有将字符串隐式转换为整数 (TypeError)
【发布时间】:2015-11-20 12:05:33
【问题描述】:

对不起,新手问题,我是JSON的初学者。

我有以下 json:

{
   "destination_addresses" : [ "San Francisco, Californie, États-Unis", "Victoria, BC, Canada" ],
   "origin_addresses" : [ "Vancouver, BC, Canada", "Seattle, Washington, États-Unis" ],
   "rows" : [
      {
         "elements" : [
            {
               "distance" : {
                  "text" : "1 707 km",
                  "value" : 1707145
               },
               "duration" : {
                  "text" : "3 jours 19 heures",
                  "value" : 327471
               },
               "status" : "OK"
            },
           ]
      },

   ],
   "status" : "OK"
}

我将获得duration 的价值。 我用了这条线

duration = json["rows"][0]["elements"]["duration"]["text"]

但我正面临这个错误

 no implicit conversion of String into Integer (TypeError)

【问题讨论】:

    标签: ruby-on-rails json


    【解决方案1】:

    查看示例 JSON,elements 是一个数组:

    "elements" : [...
    

    所以需要用数字索引,例如

    duration = json["rows"][0]["elements"][0]["duration"]["text"]
    

    当前字符串 "duration" 被用于索引 elements 数组,导致您看到的错误。

    【讨论】:

      最近更新 更多