Parse a GET query string from a URL — parseQueryString

v1.7.0|Source: R/utils.R

Description

Returns a named list of key-value pairs.

parseQueryString(str, nested = FALSE)

Arguments

str

The query string. It can have a leading "?" or not.

nested

Whether to parse the query string of as a nested list when it contains pairs of square brackets []. For example, the query a[i1][j1]=x&b[i1][j1]=y&b[i2][j1]=z will be parsed as list(a = list(i1 = list(j1 = 'x')), b = list(i1 = list(j1 = 'y'), i2 = list(j1 = 'z'))) when nested = TRUE, and list(`a[i1][j1]` = 'x', `b[i1][j1]` = 'y', `b[i2][j1]` = 'z') when nested = FALSE.

Examples

parseQueryString("?foo=1&bar=b%20a%20r")

if (FALSE) {
# Example of usage within a Shiny app
function(input, output, session) {

  output$queryText <- renderText({
    query <- parseQueryString(session$clientData$url_search)

    # Ways of accessing the values
    if (as.numeric(query$foo) == 1) {
      # Do something
    }
    if (query[["bar"]] == "targetstring") {
      # Do something else
    }

    # Return a string with key-value pairs
    paste(names(query), query, sep = "=", collapse=", ")
  })
}
}