R 如何将df转换为数字为数字的json文件

R 如何将df转换为数字为数字的json文件,r,R,我正在尝试将数据帧转换为json格式。这是我的数据帧,称为x: structure(list(Desc = c("Web", "Mobile", "TV", "Store"), Total = c(223786915, 42053151, 232299534, 26317530), Name = c("Total Login", "Total Login", "Total Login", "Total Login")), .Names = c("Desc", "Total", "Name"

我正在尝试将数据帧转换为json格式。这是我的数据帧,称为x:

structure(list(Desc = c("Web", "Mobile", "TV", "Store"), Total = c(223786915, 
42053151, 232299534, 26317530), Name = c("Total Login", "Total Login", 
"Total Login", "Total Login")), .Names = c("Desc", "Total", "Name"
), row.names = c(NA, 4L), class = "data.frame")
这就是功能:

servers <- split(x,x$Name)
dumFun <- function(x){
  sData <- servers[x][[1]]
  if(nrow(sData) >0){
    # create appropriate list
    dumList <- unname(apply(sData[,c(1,as.numeric(2))], 1, function(y) unname(as.list(y))))
    return(toJSON(list(name = x, data = dumList))) 
  }
}
jsData <- lapply(names(servers), dumFun)
jsInd <- sapply(jsData, is.null)
p<-paste(jsData[!jsInd], collapse = ',')
p<-paste('[', p, ']')

serversjsonlite
做你想做的事吗

例如,您可以执行
jsonlite::toJSON(x)

res
res <- jsonlite::toJSON(x, pretty=TRUE)
cat(res)

[
{
    "Desc" : "Web",
    "Total" : 223786915,
    "Name" : "Total Login"
},
{
    "Desc" : "Mobile",
    "Total" : 42053151,
    "Name" : "Total Login"
},
{
    "Desc" : "TV",
    "Total" : 232299534,
    "Name" : "Total Login"
},
{
    "Desc" : "Store",
    "Total" : 26317530,
    "Name" : "Total Login"
}
]