如何在名称/值对中将R数据帧转换为Json?

Blu*_*hin 3 json r dataframe jsonlite

我有以下R数据框:

        Values
Type1   123
Type2   4565
Type3   7812
Run Code Online (Sandbox Code Playgroud)

我希望JSON输出是

{"Type1":123, "Type2":4565, "Type3":7812}
Run Code Online (Sandbox Code Playgroud)

数字字段可以加引号

我使用jsonlite toJSON,输出为:

[{"Values":123,"_row":"Type1"}, 
 {"Values": 4565,"_row":"Type2"}, 
 {"Values": 7812,"_row":"Type3"}]
Run Code Online (Sandbox Code Playgroud)

PoG*_*bas 5

解决方案使用rjson

df <- data.frame(Values = c(123, 4565, 7812))
rownames(df) <- paste0("Type", 1:3)

library(rjson)
toJSON(setNames(df$Values, rownames(df)))

[1] "{\"Type1\":123,\"Type2\":4565,\"Type3\":7812}"
Run Code Online (Sandbox Code Playgroud)