首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby解析解析响应

Ruby解析解析响应
EN

Stack Overflow用户
提问于 2016-03-25 18:57:28
回答 2查看 102关注 0票数 0

第一次和红宝石捣乱。

我正在使用的图书馆有

代码语言:javascript
复制
require 'net/http/post/multipart'
require 'uri'

    def find(issue_id)
      get("issue/#{issue_id}")
      response.parsed_response
    end

我用它在我的档案里

代码语言:javascript
复制
puts issue_resource.find("XVRCI-42")

哪种指纹

{"issue"=>{"field"=>{"value"=>"XVRCI",“type”“=>”SingleField“、”name“”=>“projectShortName}、{"value"=>"42”、“type”“=>”SingleField、“name”“=>”numberInProject}、{"value"=>"Add CHANGELOG.MD with Short Changelog Generation“、"type"=>"SingleField”、“name”“=>”汇总},{“值”“=>”我们需要一个根上的变更量和一个脚本,当我们推出现在的XVRClient线束和新版本时,需要生成一个短的变更量。“,键入”=>“SingleField,”name“”=>“description”}}等等,"id"=>"XVRCI-42",“entityId”=>“66-4857”}}

我以为这是json并被解析了。所以我尝试添加require 'json'并运行

代码语言:javascript
复制
respons = JSON.parse(issue_resource.find("XVRCI-42"))
puts respons["field"][0]["name"]

不起作用

如何在这里获得摘要字段并在字符串变量中获得“添加具有短变更量生成脚本的CHANGELOG.MD”?

########编辑答案

多亏马丁发现这是哈希

所以

代码语言:javascript
复制
#get the summary field
file['issue']['field'].each do |item|
   if item['name'] == "summary"
     puts item['value']
  end
end

为我工作

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-25 19:36:56

根据你的消息来源,你需要的是:

代码语言:javascript
复制
puts respons["issue"]["field"][0]["name"]
票数 2
EN

Stack Overflow用户

发布于 2016-03-25 19:50:01

Enumerable#find是你想要的。

代码语言:javascript
复制
response['issue']['field'].find {|x| x['name'] == 'summary'}
=> {"value"=>"Add CHANGELOG.MD with Short Changelog Generation Script", "type"=>"SingleField", "name"=>"summary"}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36226190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档