如何通过Ruby从这个不熟悉的数据结构中访问信息?

时间:2014-08-14 23:38:46

标签: ruby

我正在使用Fog访问Terremark的云环境。当我下载组织数据时,它会返回一个数据结构,虽然我知道它应该是直截了当的,但却让我感到困惑。

使用irb我初始化连接,然后使用conn.organizations请求数据,并将其显示为awesome_print。它返回:

[
    [0]   <Fog::Compute::Ecloud::Organization
    href="/cloudapi/ecloud/organizations/#######",
    name="****************************** (***-###-###)",
    type="application/vnd.tmrk.cloud.organization",
    other_links=[{:href=>"/cloudapi/ecloud/admin/organizations/#######", :name=>"****************************** (***-###-###)", :type=>"application/vnd.tmrk.cloud.admin.organization", :rel=>"alternate"}, {:href=>"/cloudapi/ecloud/environments/organizations/#######", :type=>"application/vnd.tmrk.cloud.environment; type=collection", :rel=>"down"}, {:href=>"/cloudapi/ecloud/devicetags/organizations/#######", :type=>"application/vnd.tmrk.cloud.deviceTag; type=collection", :rel=>"down"}, {:href=>"/cloudapi/ecloud/alerts/organizations/#######", :type=>"application/vnd.tmrk.cloud.alertLog", :rel=>"down"}]
  >
]

所以它返回一个带有奇异元素的数组。该元素由<>包围的另一个数据结构组成。但我不确定这是否准确,因为似乎还有另一个数组包含嵌入在该结构中的哈希。

我的问题是我需要提取#######所代表的值,但我不知道如何访问包含该值的输出的任何部分。

就数据结构而言,我在看什么?如何访问其中包含的数据?

1 个答案:

答案 0 :(得分:0)

它是一个Fog::Compute::Ecloud::Organization对象,该类的文档应该告诉您可用的方法。或者您可以通过调用Object#methods来询问对象本身。