第一次搞乱红宝石。
我正在使用的库有这个
require 'net/http/post/multipart'
require 'uri'
def find(issue_id)
get("issue/#{issue_id}")
response.parsed_response
end
我在我的文件中用它
puts issue_resource.find("XVRCI-42")
打印
{"问题" => {"字段" => [{"值" =>" XVRCI&#34 ;,"输入" =>" SingleField"," name" =>" projectShortName"},{" value&# 34; =>" 42","输入" =>" SingleField"," name" =>" numberInProject& #34;},{"值" =>"使用Short Changelog生成脚本添加CHANGELOG.MD","键入" =>" SingleField& #34;,"名称" =>"摘要"},{"值" =>"我们需要在root和脚本上更改日志当我们推出现在的XVRClient线束和新版本时,会产生一个简短的更改日志。","键入" =>" SingleField"," name" = >"说明"}等...}]," id" =>" XVRCI-42"," entityId" => ;" 66-4857"}}
我认为这是json并解析。
所以我尝试添加require 'json'
并运行
respons = JSON.parse(issue_resource.find("XVRCI-42"))
puts respons["field"][0]["name"]
它没有用
如何在此处获取摘要字段并获取"使用Short Changelog生成脚本添加CHANGELOG.MD"在一个字符串变量?
########编辑答案感谢马丁原来是哈希
所以
#get the summary field
file['issue']['field'].each do |item|
if item['name'] == "summary"
puts item['value']
end
end
为我工作
答案 0 :(得分:2)
根据您的消息来源,您需要的是:
puts respons["issue"]["field"][0]["name"]
答案 1 :(得分:1)
Enumerable#find就是你想要的。
response['issue']['field'].find {|x| x['name'] == 'summary'}
=> {"value"=>"Add CHANGELOG.MD with Short Changelog Generation Script", "type"=>"SingleField", "name"=>"summary"}