R中jsonlite的列表转换

R中jsonlite的列表转换,r,jsonlite,R,Jsonlite,我希望使用jsonlite从json文件导入R中的矩阵列表 A <- matrix(rnorm(100),10,10) B <- matrix(rnorm(100),10,10) C <- matrix(rnorm(100),10,10) l <- list(A,B,C) import_l <- fromJSON(toJSON(l),simplifyMatrix = FALSE) A这里的问题是,如果转换为JSON,列矩阵和未命名列表看起来是一样的: toJSON

我希望使用jsonlite从json文件导入R中的矩阵列表

A <- matrix(rnorm(100),10,10)
B <- matrix(rnorm(100),10,10)
C <- matrix(rnorm(100),10,10)
l <- list(A,B,C)
import_l <- fromJSON(toJSON(l),simplifyMatrix = FALSE)

A这里的问题是,如果转换为JSON,列矩阵和未命名列表看起来是一样的:

toJSON(list(1, 2, 3))
## [[1],[2],[3]] 
toJSON(matrix(c(1, 2, 3), ncol = 1))
## [[1],[2],[3]]
但是,命名列表看起来不同:

toJSON(list(A = 1, B = 2, C = 3))
## {"A":[1],"B":[2],"C":[3]} 
如果在示例中使用命名列表,
fromJSON()
确实会复制原始列表:

l <- list(A = A, B = B, C = C)
all.equal(fromJSON(toJSON(l)), l, tol = 1e-4)
## [1] TRUE
l <- list(A, B, C)
import_l <- fromJSON(toJSON(l))
l2 <- lapply(1:3, function(i) import_l[i, , ])
all.equal(l2, l, tol = 1e-4)
## [1] TRUE