在 R 中连接字符和数字 json 元素

Joining character and numeric json elements in R

我正在尝试使用 jsonlite 将两个 json 对象连接到 R 中的单个 json 对象中。

作为一个简单的例子,如果我有以下内容:

我正在使用的 api 需要一个 Json 对象,该对象将数据框的列名作为第一个元素,然后是行的数字输出。举例说明:

df <- data.frame(A = rnorm(2), B = rnorm(2), C = rnorm(2))

我需要看起来像:

set.seed(123)

[["A", "B", "C"], [-0.5605,1.5587,0.1293],[-0.2302,0.0705,1.7151]]

但以下尝试未能实现上述目标:

c( jsonlite::toJSON( names(df) ), jsonlite::toJSON( df, "values" ))
paste0( jsonlite::toJSON( names(df) ), jsonlite::toJSON( df, "values" ))

This 解决方案不起作用,我还没有找到任何其他关于如何实现此目的的建议。

如有任何想法,我们将不胜感激。

一个选项是按行 (asplitMARGIN = 1) 拆分成 list,将 (c) 与 names 连接起来数据并应用 toJSON

library(jsonlite)
toJSON(c(list(names(df)), asplit(df, 1)))
#[["A","B","C"],[-0.5605,1.5587,0.1293],[-0.2302,0.0705,1.7151]]