我的输出如下:
{:compartmentId=>"osdaa", :displayName=>"server1", :id=>"dffdssa",
:lifecycleState=>"AVAILABLE", :sizeInGBs=>50, :sizeInMBs=>1024,
:timeCreated=>#<DateTime: 2017-09-18T05:57:43+00:00 ((2458015j,21463s,494000000n),+0s,2299161j)>,
:timeRequestReceived=>#<DateTime: 2017-09-18T05:57:37+00:00 ((2458015j,21457s,331000000n),+0s,2299161j)>,
:uniqueSizeInGBs=>XX, :uniqueSizeInMbs=>14072, :volumeId=>"abcd"}
我需要价值:id 我怎么能得到这个?
答案 0 :(得分:0)
你所要做的就是哈希[key]。 我们需要看到您的代码来帮助您。
编辑:
我不知道OCI :: Core :: BlockstorageClient但是根据文档(https://docs.us-phoenix-1.oraclecloud.com/tools/ruby/latest/OCI/Core/BlockstorageClient.html#list_volume_backups-instance_method ),list_volume_backups返回一个响应对象,其数据类型为Array
所以bkp_id是一个数组。你应该先尝试第一个或迭代,然后再尝试[:id]
如果你知道你将在这个数组中只有一个项目,请尝试使用bkp_id.first获取该项目,然后如果它不是nil,则执行[:id]。 如果您可以有多个项目,请执行bkp_id.map {| b | b [:id}获取所有项目的ID。
编辑:
bkp_id是一个数组而不是哈希值,因此[:id]应替换为.id