簡體   English   中英

如何從Atlassian網站解析jira版本

[英]How to parse of jira-versions from Atlassian website

我面臨一個問題。 我必須解析Atlassian網站中包含的jira-core版本列表的JSON。

嘗試使用JsonSlurper從網站解析JSON時,出現錯誤消息:

“當前讀取的字符是'd',其int值為100無法確定當前字符,它不是字符串,數字,數組或對象行號1索引號0”

碼:

def http = new HTTPBuilder('https://my.atlassian.com/download/feeds/')
def html = http.get( path : 'current/jira-core.json')
def slurper = new groovy.json.JsonSlurper(type: JsonParserType.LAX).parse(html)
print slurper

我該如何獲取正確的JSON塊?

問題是,這不是json ...這是jsonp回調,因此有效的json包裝在downloads( ... ) javascript調用中

您可以使用正則表達式通過以下方式從URL中解開文本:

import groovy.json.*

def jsonp = new URL('https://my.atlassian.com/download/feeds/current/jira-core.json').text
def extract = jsonp =~ /^downloads\((.+)\)$/
if (!extract.matches()) {
    throw new RuntimeException("Bad jsonp!")
}
def parsed = new JsonSlurper().parseText(extract.group(1))

parsed.each { println it.description }

盡管這不能直接解決JSON與JSONP問題,但是,如果您只是想使用Jira版本數據,那么還有一個名為iapetus.fyi的第三方站點,它提供Atlassian產品版本信息,包括提供Firebase通知的可能性到您的應用中進行版本更改事件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM