在 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 解决方案不起作用,我还没有找到任何其他关于如何实现此目的的建议。
如有任何想法,我们将不胜感激。
一个选项是按行 (asplit
和 MARGIN = 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]]
我正在尝试使用 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 解决方案不起作用,我还没有找到任何其他关于如何实现此目的的建议。
如有任何想法,我们将不胜感激。
一个选项是按行 (asplit
和 MARGIN = 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]]