Hi Everyone I'm working with the next url and I have to get the key-values params from this url the url could be in the next formats:
http://www.espn.com/watch/?gameId=1234&league=nfl&lang=es. In this case I am using the next logic:
def parseUrlStringToMap( def url )
{
def mapResult
if ( url.contains( "&" ) || url.contains( "?" ) )
{
mapResult = url?.split( '\\?' )[ 1 ]?.split( '&' )?.inject( [:] ) { map, token ->
token?.split( '=' )?.with { map[ it[ 0 ] ] = it[ 1 ] }
map
}
}
//Here I have to implement the logic for the second type of url
def params = new URL( url ).getQuery()
return mapResult
}
and the second format without parameters is:
I have to extract a map with the [id:24664478]. I have tried using substring. Do you know if is there a sofisticated way to do this without using substring?
Thanks in advance.
You could do something like this... I'm assuming that
_
denotes that the next 2 elements are a key/value pair... I also changed the code to handle multile values in a query param (ie:k=a&k=b
) which is perfectly valid.prints