R jsonlite:以定义的结构导出数据框

R jsonlite: export dataframe in a defined structure

In Python (json.dump(data, file) 我将字典导出到一个 json 文件,当我打开文件时,它具有以下结构:

{"TA_ID": [1, 2], "feature": ["a", "b"]}

我将这个带有 jsonlite 的数据框导入 R。在一些输入之后我修改了数据框(例如附加数据)并用 jsonlite:

导出它
TA_ID = c(1, 2, 3)
feature = c("a", "b", "c")
test_data <- data.frame(TA_ID, feature)
write_json(test_data, "Export.json", pretty = FALSE, unbox = FALSE)

现在,当我查看 Export.json 文件时,我看到以下结构:

[{"TA_ID":"1","feature":"a"},{"TA_ID":"2","feature":"b"},{"TA_ID":"3","feature":"c"}]

如何获取文件中的原始结构?修改后应该如下所示:

{"TA_ID": [1, 2, 3], "feature": ["a", "b", "c"]}

我在write_json中尝试了"pretty"和"unbox",但无法达到预期的效果。非常感谢您。

您需要将其分配给 list 而不是 data.frame

test_data <- list(TA_ID = c(1, 2, 3),feature = c("a", "b", "c"))

test_data

$TA_ID
[1] 1 2 3

$feature
[1] "a" "b" "c"


write_json(test_data, "Export.json", pretty = FALSE, unbox = FALSE)

它给出了,

{"TA_ID":[1,2,3],"feature":["a","b","c"]}