r语言 - 如何将csv转换为json,第一列作为关键,第二列作为使用jsonlite或其他包的值?



如何将csv转换为json,第一列作为关键,第二列作为使用jsonlite或其他包的值?

:

[
{
"full": "CA-A CANCER JOURNAL FOR CLINICIANS",
"abb": "CA-CANCER J CLIN"
},
{
"full": "NATURE REVIEWS MOLECULAR CELL BIOLOGY",
"abb": "NAT REV MOL CELL BIO"
}

:

[
{
"CA-A CANCER JOURNAL FOR CLINICIANS": "CA-CANCER J CLIN",
},
{
"NATURE REVIEWS MOLECULAR CELL BIOLOGY": "NAT REV MOL CELL BIO"
}
]

兆瓦:

abb <- structure(list(full = c("CA-A CANCER JOURNAL FOR CLINICIANS", "NATURE REVIEWS MOLECULAR CELL BIOLOGY"), abb = c("CA-CANCER J CLIN", "NAT REV MOL CELL BIO")), row.names = c(NA, -2L), class = c("tbl_df",  "tbl", "data.frame"))
abb|> 
jsonlite::toJSON(pretty=TRUE)

谢谢你的建议!

如果有其他包可用,也可以。

toJSON(setNames(as.list(abb$abb), abb$full), pretty = T)

{
"CA-A CANCER JOURNAL FOR CLINICIANS": ["CA-CANCER J CLIN"],
"NATURE REVIEWS MOLECULAR CELL BIOLOGY": ["NAT REV MOL CELL BIO"]
} 

或使用您在期望结果中显示的未装箱版本:

toJSON(setNames(as.list(abb$abb), abb$full), pretty = T, auto_unbox = T)
{
"CA-A CANCER JOURNAL FOR CLINICIANS": "CA-CANCER J CLIN",
"NATURE REVIEWS MOLECULAR CELL BIOLOGY": "NAT REV MOL CELL BIO"
} 

,如果你真的想要输出外框,把它包装在一个列表中,像这样:

toJSON(list(setNames(as.list(abb$abb), abb$full)), pretty = T, auto_unbox = T)
[
{
"CA-A CANCER JOURNAL FOR CLINICIANS": "CA-CANCER J CLIN",
"NATURE REVIEWS MOLECULAR CELL BIOLOGY": "NAT REV MOL CELL BIO"
}
]

最新更新