从网址资源中提取一些参数

时间:2018-09-17 14:02:37

标签: url groovy parameters maps

我必须提取下一个网址的参数:

http://www.espn.com/college-football/story/_/id/24701796/college-football-bowl-projections-week-3

类似:

[联盟名称:大学橄榄球,id:24701796]。我有下一个实现:

 def parseUrlStringToMap2(URI uri) {
    def mapResult
    if (uri.query) {
        mapResult = uri.query.split('&')*.split("=").inject([:].withDefault { [] }) { m, v ->
            m[v[0]] << v[1]
            m
        }.collectEntries { k, v -> v.size() == 1 ? [k, v[0]] : [k, v] }
    } else {
        // I'm going to assume that key/values come after '_' paths
        def paths = uri.path.split('/')
        mapResult = paths[paths.findIndexValues { it == '_' }.collect { (it+1)..(it+2) }].collate(2).collectEntries()
    }
    return mapResult
}

我得到了下一个答案:[id:24701796],没有联赛名称,我试图为LeagueName使用子字符串,有人知道更复杂的方法吗?

谢谢。

0 个答案:

没有答案