我是R的新手,正在尝试碰到一个端点。我已经有了令牌。现在,使用该令牌,我想击中端点并获取数据。
问题在于创建嵌套字典
我能够创建:
{
"a":["A"],
"b":["B"]
}
我想要什么:
{
"c": {
"a":["A"],
"b":["B"]
}
}
目标/最终代码...
url <- "http:xxxx/xxxx/xxxx/xx?"
req <- httr::POST(url, body=body, httr::add_headers(Authorization = token))
我尝试过的几件事...
a<-c("A")
b<-c("B")
body<- jsonlite::toJSON(data.frame(a=a, b=b) )
body
输出:[{“ a”:“ A”,“ b”:“ B”}]
body2<- jsonlite::toJSON(data.frame(c=body ) )
给出错误: 无法将类别““ json”“强制转换为data.frame
所以大概应该这样做……
body2<- jsonlite::toJSON(data.frame(c=fromJSON(body) ) )
body2
但输出是... [{"c.a":"A","c.b":"B"}]
然后我尝试了...
json <- toJSON('{"a": ["A"],"b": ["B"]}')
json
body<- jsonlite::toJSON(data.frame(c=fromJSON(json) ) )
body
输出:[“ {\” a \“:[\” A \“],\” b \“:[\” B \“]}”]
...现在我完全迷失了自己。
试图了解: POST encripted request with JSON body on R Nested JSON to dataframe in R Convert Nested JSON Object into data Frame in R Import data from file contaning nested JSON objects in R
答案 0 :(得分:2)
这说明了您正在尝试实现的目标。没有更多的代码,我不知道这是否可以解决您的问题。
body <- list()
innerBody <- list()
innerBody$a <- "A"
innerBody$b <- "B"
body$c <- innerBody
jsonlite::toJSON(body, pretty = TRUE)
{“ c”:{ “ a”:[“ A”], “ b”:[“ B”]} }