【问题标题】:How to create map from JSON response in Ruby on Rails 3?如何在 Ruby on Rails 3 中从 JSON 响应创建地图?
【发布时间】:2012-01-28 17:58:37
【问题描述】:

我需要从 JSON 响应创建一个用于自动完成的映射/数组,并且我正在寻找在 Ruby 和 Rails 3 中实现它的最佳、最有效的方法。下面是响应的一部分和我的工作代码有在它之前。为我创建位置需要哪一行代码?

# Need help making this more efficient
response_fields = JSON.parse(response.body)
predictions = response_fields['predictions']
predictions.each do |prediction|
  locations << prediction['description']
end

来自 API 的示例响应:

{
   "predictions" : [
     {
       "description" : "Napa, CA, United States",
       "id" : "cf268f9fb9a1b46aed72d59ab85ed40f982763c6",
       "matched_substrings" : [
          {
            "length" : 4,
            "offset" : 0
          }
       ],
     "reference" : "CjQvAAAAqZWNGzqtJf3awNuQNQdnZpl4dBVVXFPrPdz29r1jo1GMWYFuz3KRlK9HgdgszOThEhDeYz_vYgcOPJTaYehF11bUGhR8yH9zqMGV9kenZIo9OTBrSwftgg",
     "terms" : [
        {
           "offset" : 0,
           "value" : "Napa"
        },
        {
           "offset" : 6,
           "value" : "CA"
        },
        {
           "offset" : 10,
           "value" : "United States"
        }
     ],
     "types" : [ "locality", "political", "geocode" ]
  },

【问题讨论】:

    标签: ruby ruby-on-rails-3 json autocomplete


    【解决方案1】:

    你可以像这样缩短你的代码:

    locations = JSON.parse(response.body)['predictions'].map { |p| p['description'] }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-16
      • 1970-01-01
      • 2011-09-14
      • 2016-01-24
      • 2015-12-21
      • 1970-01-01
      • 2014-02-11
      相关资源
      最近更新 更多