首页 > 解决方案 > 从哈希数组返回特定​​值 - JSON

问题描述

嗨,我正在学习 rails,在我的应用程序中,我从 json 格式中获取值
res = @client.spots(params[:location][:lat], params[:location][:lng], :types => ['restaurant','food'], :radius => 500)

在我的 res 对象中,我得到了这些值

{
  "json_result_object": {
    "business_status": "OPERATIONAL",
    "geometry": {
      "location": {
        "lat": 31.4734563,
        "lng": 74.2794873
      },
      
    },
    "icon": "https://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png",
    "name": "CP Five Star",
    "opening_hours": {
      "open_now": true
    }
      }
    ],
    "place_id": "ChIJjfE-TdoDGTkRMom8KQfI9Uc",
    "plus_code": {
      "compound_code": "F7FH+9Q Lahore, Pakistan",
      "global_code": "8J3PF7FH+9Q"
    },
   
  },
  "reference": "ChIJjfE-TdoDGTkRMom8KQfI9Uc",
  "place_id": "ChIJjfE-TdoDGTkRMom8KQfI9Uc",
  "vicinity": "Bilal Arcade, Abdul Haque Road, Block G Block G Phase 1 Johar Town, Lahore",
  "lat": 31.4734563,
  "lng": 74.2794873,
  "viewport": {
    "northeast": {
      "lat": 31.4748154802915,
      "lng": 74.28081473029151
    },
    "southwest": {
      "lat": 31.4721175197085,
      "lng": 74.2781167697085
    }
  },
  "name": "CP Five Star",
  "icon": "https://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png",
  "types": [
    "restaurant",
    "food",
    "point_of_interest",
    "establishment
  
}

现在我只想返回一个 JSON 数组,其中仅包含以下值 place_id 、 name 、 lat lng 、 icon

&对不起,我使用图像只是为了在终端图像中显示我的实际响应

标签: ruby-on-railsrubyruby-on-rails-3ruby-on-rails-6

解决方案


您可以通过以下方式检查您的 res 对象类型res.class;如果它还不是哈希,您可以按照此处的步骤将其转换为哈希。

使用 res 哈希,您可以像这样返回 JSON 数组 -

[res["place_id"], res["name"], res["lat"], res["lng"], res["icon"]]


推荐阅读