Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中解析和构建具有多个值参数的URL查询字符串_R_Url_Query String_Httr - Fatal编程技术网

如何在R中解析和构建具有多个值参数的URL查询字符串

如何在R中解析和构建具有多个值参数的URL查询字符串,r,url,query-string,httr,R,Url,Query String,Httr,有没有一种简单的方法可以在R中解析和构建具有多个值参数的URL查询字符串 我期待着类似的事情 myqueryString <- parse_url("http://www.mysite.com/?a=1&a=2&b=val")$query myqueryString $a [1] 1 2 $b [1] "val" 及 我知道我可以使用parse()+eval()返回a,但对可以自由转储到URL的代码进行评估看起来相当不安全。 有什么建议吗 查看这两种参数列

有没有一种简单的方法可以在R中解析和构建具有多个值参数的URL查询字符串

我期待着类似的事情

myqueryString <- parse_url("http://www.mysite.com/?a=1&a=2&b=val")$query
myqueryString
  $a
  [1] 1 2
  $b
  [1] "val"

我知道我可以使用
parse()
+
eval()
返回
a
,但对可以自由转储到URL的代码进行评估看起来相当不安全。
有什么建议吗

查看这两种参数列表格式之间的转换是否有效:

mergeUrlArgs <- function(x) sapply(unique(names(x)), function(z) unlist(x[names(x) == z], use.names=FALSE), simplify=FALSE)

expandUrlArgs <- function(x) structure(do.call(c, lapply(x, function(z) as.list(z))), names=rep(names(x), sapply(x, length)))

mergeUrlArgs您可以将
parse_url
的结果“折叠”为您期望的结果<代码>x
parse_url("http://www.mysite.com/?a=1&a=2&b=val")$query
 $a
 [1] "1"

 $a
 [1] "2"

 $b
 [1] "val"
builtURL <- build_url(urlElements)
builtURL
   [1] "http:///www.mysite.com/?a=c%281%2C%202%29&b=val"
parse_url(builtURL)$query
 $a
 [1] "c(1, 2)"

 $b
 [1] "val"
mergeUrlArgs <- function(x) sapply(unique(names(x)), function(z) unlist(x[names(x) == z], use.names=FALSE), simplify=FALSE)

expandUrlArgs <- function(x) structure(do.call(c, lapply(x, function(z) as.list(z))), names=rep(names(x), sapply(x, length)))